环球微资讯!RK3588-UART
前言
专栏总目录本文主要讲解如何关于RK3588开发板UART的使用和调试方法,包括UART作为普通串口和控制台两种不同使用场景一. 功能特点
RockchipUART (Universal Asynchronous Receiver/Transmitter) 基于16550A串口标准,完整模块支持以下功能:
支持5、6、7、8 bits数据位。支持1、1.5、2 bits停止位。支持奇校验和偶校验,不支持mark校验和space校验。支持接收FIFO和发送FIFO,一般为32字节或者64字节。支持最高4M波特率,实际支持波特率需要芯片时钟分频策略配合。支持中断传输模式和DMA传输模式。 支持硬件自动流控,RTS+CTS。二、代码位置
在Linuxkernel 中,使用8250串口通用驱动,以下为主要驱动文件:
drivers/tty/serial/8250/8250_core.c # 8250串口驱动核心
(资料图片)
drivers/tty/serial/8250/8250_dw.c # Synopsis DesignWare 8250串口驱动
drivers/tty/serial/8250/8250_dma.c # 8250串口DMA驱动
drivers/tty/serial/8250/8250_port.c # 8250串口端口操作
drivers/tty/serial/8250/8250_early.c # 8250串口early console驱动
SDK中提供的UART默认配置已经使用了8250驱动我们就不需要修改
三、硬件原理图
串口功能的硬件上比较简单,这是只附上调试串口的原理图
四、设备树配置
rk平台的设备树修改路径都是在kernel\\arch\\arm64\\boot\\dts\\rockchip下面,具体哪个文件根据对应开发板来决定,通常描述设备硬件配置在rkxxxx.dtsi中,比如在rk3588s.dtsi中:
uart2: serial@feb50000 {compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";reg = < 0x0 0xfeb50000 0x0 0x100 >;interrupts = < GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH >;clocks = < &cru SCLK_UART2 >, < &cru PCLK_UART2 >;clock-names = "baudclk", "apb_pclk";reg-shift = < 2 >;reg-io-width = < 4 >;dmas = < &dmac0 10 >, < &dmac0 11 >;pinctrl-names = "default";pinctrl-0 = < &uart2m1_xfer >;status = "disabled";};
4.1作为普通串口
假入我们想使用w3开发板上40PIN上的uart7
我们在dts可以使用如下配置打开
&uart7 {status = "okay";pinctrl-names = "default";pinctrl-0 = < &uart7m1_xfer >;};
4.2作为调试串口
Rockchip UART作为控制台,使用fiq_debugger流程。
在dts中fiq_debugger节点配置如下。由于fiq_debugger和普通串口互斥,在使能fiq_debugger节点后必须禁用对应的普通串口uart节点。
chosen: chosen {bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0";};fiq-debugger {compatible = "rockchip,fiq-debugger";rockchip,serial-id = < 2 >;rockchip,wake-irq = < 0 >;/* If enable uart uses irq insteadof fiq */rockchip,irq-mode-enable = < 1 >;rockchip,baudrate = < 1500000 >; /* Only 115200 and 1500000 */interrupts = < GIC_SPI 252 IRQ_TYPE_LEVEL_LOW >;pinctrl-names = "default";pinctrl-0 = < &uart2m0_xfer >;status = "okay";};&uart2 {status = "disabled";};
rockchip,serial-id:使用的UART编号。修改serial-id到不同UART,fiq_debugger设备也会注册成ttyFIQ0设备。 rockchip,irq-mode-enable:配置为1使用irq中断,配置为0使用fiq中断。interrupts:配置的辅助中断,保持默认即可。pinctrl-0:使用的串口引脚rockchip,baudrate:波特率配置五、串口相关问题
5.1设备注册
普通串口设备将会根据dts中的aliase来对串口进行编号,对应注册成ttySx设备。注册的节点为/dev/ttyS4,命名规则是通过dts中的aliases来的。
aliases {serial0 = &uart0;serial1 = &uart1;serial2 = &uart2;serial3 = &uart3;}
对应uart0注册为ttyS0,uart0注册为ttyS1,如果需要把uart3注册成ttyS1,可以进行以下修改
serial1 = &uart3; serial3 = &uart1;
5.2控制台打印相关
Rockchip UART打印通常包括DDR阶段、Miniloader阶段、TF-A (Trusted Firmware-A)阶段、OP-TEE阶段、Uboot阶段和Kernel阶段,我们平时主要关注的是uboot阶段和kernel阶段的打印,在这两个阶段我们可以尝试关闭所有打印或切换所有打印到其他UART,RK平台默认的调试串口是uart2_m0这一组引脚,假如现在我将打印换成其他串口,可以尝试以下做法。
5.2.1DDR Loader修改方法
DDR Loader中关闭或切换打印,需要修改DDR Loader中的UART打印配置,修改文件rkbin/tools/ddrbin_param.txt中的以下参数:
uart id= # UART控制器id,配置为0xf为关闭打印
uart iomux= # 复用的IOMUX引脚 uart
baudrate= # 115200 or 1500000
修改完成后,使用以下命令重新生成ddr.bin固件。
./ddrbin_tool ddrbin_param.txt rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin
5.2.2Uboot修改方法
Uboot中关闭打印,需要在menuconfig中,打开配CONFIG_DISABLE_CONSOLE,保存到.config文件
Uboot中切换打印,由传参机制决定,不需要进行额外修改。uboot解析传参机制相关代码在arch/arm/mach-rockchip/board.c的board_init_f_init_serial()函数中。
5.2.3kernel修改方法
去掉打印需要在menuconfig中,关闭配置CONFIG_SERIAL_8250_CONSOLE。
Device Drivers --->
Character devices --->
Serial drivers --->
[ ]Console on 8250/16550 and compatible serial port
在dts配置中找到类似以下内容,并去掉UART基地址和console相关配置参数
chosen: chosen {bootargs = "earlycon=uart8250,mmio32,0xfeb50000 console=ttyFIQ0 irqchip.gicv3_pseudo_nmi=0 root=PARTUUID=614e0000-0000 rw rootwait";};
将0xfeb50000 console=ttyFIQ0 去掉,然后找到fiq-debugger节点,修改serial-id为0xffffffff,去掉UART引脚复用相关配置。注意,需要保持fiqdebugger节点使能,保持fiq-debugger流程系统才能正常启动
fiq_debugger: fiq-debugger {compatible = "rockchip,fiq-debugger";rockchip,serial-id = < 0xffffffff >;rockchip,wake-irq = < 0 >;/* If enable uart uses irq instead of fiq */rockchip,irq-mode-enable = < 1 >;rockchip,baudrate = < 1500000 >; /* Only 115200 and 1500000 */interrupts = < GIC_SPI 423 IRQ_TYPE_LEVEL_LOW >;status = "okay";};
切换打印串口例如将Kernel打印从UART2切换到UART3,在dts配置中找到类似以下内容,将UART基地址由UART2改为UART3.
bootargs = "earlycon=uart8250,mmio32,0xfe670000 console=ttyFIQ0";
0xfe670000是UART3基地址,然后找到fiq-debugger节点,修改serial-id为3,修改UART3引脚复用配置pinctrl-0 = <&uart3m0_xfer>。注意,同时需要将切换为打印串口的UART3作为普通串口的节点禁用。
六、串口测试
在开发板上跑一套应用程序,可以发送数据,可以接收数据,测试方法可以短接TX_RX
#include < stdio.h >#include < stdlib.h >#include < errno.h >#include < unistd.h >#include < fcntl.h >#include < string.h >#include < termio.h >#include < time.h >#include < pthread.h >int read_data(int fd, void *buf, int len);int write_data(int fd, void *buf, int len);int setup_port(int fd, int baud, int databits, int parity, int stopbits);void print_usage(char *program_name);pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;pthread_cond_t data_ready = PTHREAD_COND_INITIALIZER;int data_available = 0;void *read_thread(void *arg) { int fd = *(int *)arg; char buffer[1024]; // 存储读取的数据 while (1) { int bytes_read = read_data(fd, buffer, sizeof(buffer)); if (bytes_read > 0) { printf("Read Thread: Read %d bytes: %s\\n", bytes_read, buffer); } else { // 处理读取错误或设备关闭的情况 break; } } pthread_exit(NULL);}void *write_thread(void *arg) { int fd = *(int *)arg;char input[1024]; // 存储用户输入的数据 while (1) { printf("Enter data to write (or "q" to quit): "); fgets(input, sizeof(input), stdin); if (strcmp(input, "q\\n") == 0 || strcmp(input, "Q\\n") == 0) { // 用户输入 "q" 或 "Q",退出循环 break; } int len = strlen(input); int bytes_written = write_data(fd, input, len); if (bytes_written > 0) { printf("Write Thread: Wrote %d bytes: %s\\n", bytes_written, input); } } pthread_exit(NULL);}int main(int argc, char *argv[]) //./a.out /dev/ttyS4 115200 8 0 1{ int fd; int baud; int len; int count; int i; int databits; int stopbits; int parity; if (argc != 6) { print_usage(argv[0]); return 1; } baud = atoi(argv[2]); if ((baud < 0) || (baud > 921600)) { fprintf(stderr, "Invalid baudrate!\\n"); return 1; } databits = atoi(argv[3]); if ((databits < 5) || (databits > 8)) { fprintf(stderr, "Invalid databits!\\n"); return 1; } parity = atoi(argv[4]); if ((parity < 0) || (parity > 2)) { fprintf(stderr, "Invalid parity!\\n"); return 1; } stopbits = atoi(argv[5]); if ((stopbits < 1) || (stopbits > 2)) { fprintf(stderr, "Invalid stopbits!\\n"); return 1; } fd = open(argv[1], O_RDWR, 0); if (fd < 0) { fprintf(stderr, "open < %s > error %s\\n", argv[1], strerror(errno)); return 1; } if (setup_port(fd, baud, databits, parity, stopbits)) { fprintf(stderr, "setup_port error %s\\n", strerror(errno)); close(fd); return 1; }pthread_t read_tid, write_tid; int ret; // 创建读取线程 ret = pthread_create(&read_tid, NULL, read_thread, &fd); if (ret != 0) { fprintf(stderr, "Failed to create read thread\\n"); return 1; } // 创建写入线程 ret = pthread_create(&write_tid, NULL, write_thread, &fd); if (ret != 0) { fprintf(stderr, "Failed to create write thread\\n"); return 1; } // 等待读取线程和写入线程结束 pthread_join(read_tid, NULL); pthread_join(write_tid, NULL); close(fd); return 0;}static int baudflag_arr[] = { B921600, B460800, B230400, B115200, B57600, B38400, B19200, B9600, B4800, B2400, B1800, B1200, B600, B300, B150, B110, B75, B50};static int speed_arr[] = { 921600, 460800, 230400, 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1800, 1200, 600, 300, 150, 110, 75, 50};int speed_to_flag(int speed){ int i; for (i = 0; i < sizeof(speed_arr)/sizeof(int); i++) { if (speed == speed_arr[i]) { return baudflag_arr[i]; } } fprintf(stderr, "Unsupported baudrate, use 9600 instead!\\n"); return B9600;}static struct termio oterm_attr;int setup_port(int fd, int baud, int databits, int parity, int stopbits){ struct termio term_attr; if (ioctl(fd, TCGETA, &term_attr) < 0) { return -1; } memcpy(&oterm_attr, &term_attr, sizeof(struct termio)); term_attr.c_iflag &= ~(INLCR | IGNCR | ICRNL | ISTRIP); term_attr.c_oflag &= ~(OPOST | ONLCR | OCRNL); term_attr.c_lflag &= ~(ISIG | ECHO | ICANON | NOFLSH); term_attr.c_cflag &= ~CBAUD; term_attr.c_cflag |= CREAD | speed_to_flag(baud); term_attr.c_cflag &= ~(CSIZE); switch (databits) { case 5: term_attr.c_cflag |= CS5; break; case 6: term_attr.c_cflag |= CS6; break; case 7: term_attr.c_cflag |= CS7; break; case 8: default: term_attr.c_cflag |= CS8; break; } switch (parity) { case 1: term_attr.c_cflag |= (PARENB | PARODD); break; case 2: term_attr.c_cflag |= PARENB; term_attr.c_cflag &= ~(PARODD); break; case 0: default: term_attr.c_cflag &= ~(PARENB); break; } switch (stopbits) { case 2: term_attr.c_cflag |= CSTOPB; break; case 1: default: term_attr.c_cflag &= ~CSTOPB; break; } term_attr.c_cc[VMIN] = 1; term_attr.c_cc[VTIME] = 0; if (ioctl(fd, TCSETAW, &term_attr) < 0) { return -1; } if (ioctl(fd, TCFLSH, 2) < 0) { return -1; } return 0;} int read_data(int fd, void *buf, int len){ int count; int ret; ret = 0; count = 0; //while (len > 0) { ret = read(fd, (char*)buf + count, len); if (ret < 1) { fprintf(stderr, "Read error %s\\n", strerror(errno)); //break; } count += ret; len = len - ret; //} *((char*)buf + count) = 0; return count;} int write_data(int fd, void *buf, int len){ int count; int ret; ret = 0; count = 0; while (len > 0) { ret = write(fd, (char*)buf + count, len); if (ret < 1) { fprintf(stderr, "Write error %s\\n", strerror(errno)); break; } count += ret; len = len - ret; } return count;}void print_usage(char *program_name){ fprintf(stderr, "*************************************\\n" " A Simple Serial Port Test Utility\\n" "*************************************\\n\\n" "Usage:\\n %s < device > < baud > < databits > < parity > < stopbits > \\n" " databits: 5, 6, 7, 8\\n" " parity: 0(None), 1(Odd), 2(Even)\\n" " stopbits: 1, 2\\n" "Example:\\n %s /dev/ttyS4 115200 8 0 1\\n\\n", program_name, program_name );}
运行效果如下:
审核编辑:汤梓红
标签:
相关阅读
-
环球微资讯!RK3588-UART
本文主要讲解如何关于RK3588开发板UART的使用和调试方法,包括UART作为 -
米体:沙特球队超2000万欧巨额年薪报价...
直播吧6月10日讯据《米兰体育报》报道,沙特球队向尤文主帅阿莱格里提 -
她被雪藏的原因,国剧今天终于敢播_热议
她始终唱着,爱着,鲜活着。 -
当前快报:洪都拉斯申请加入新开发银行
中国日报6月10日电(记者:林淑娟)10日,洪都拉斯政府官方推特发文称 -
嘉定区气象局发布暴雨蓝色预警【Ⅳ级/一...
嘉定区气象局发布暴雨蓝色预警【Ⅳ级 一般】【2023-06-10】嘉定区气象 -
热资讯!《雪豹和她的朋友们》上影节展...
第二十五届上海国际电影节正式开票,观众们观影热情高涨,多部影片一秒
精彩放送
-
南通非遗购物节开市 环球快讯
畅享非遗购,探访非遗味。在6月10日“文化和自然遗产日”到来之际,... -
环球微资讯!RK3588-UART
本文主要讲解如何关于RK3588开发板UART的使用和调试方法,包括UART作为 -
今日报丨在家乡的热土上培育梦想
初夏时节,绿色爬满了田野,门前、屋后、乡村小路,处处都是翡翠般的绿 -
amazed用法(amazed)
1、surprised般吃惊amazed吃惊程度更高而且与surprised同amazed所表示 -
米体:沙特球队超2000万欧巨额年薪报价...
直播吧6月10日讯据《米兰体育报》报道,沙特球队向尤文主帅阿莱格里提 -
厦门专利奖获奖名单揭晓:42项上榜 涉...
记者从市市场监督管理局(知识产权局)获悉,第九届厦门市专利奖获奖名 -
想喝羊肉汤偷了几只羊 只图一时爽回洛...
8日,西工公安分局民警说了一件事:男子郭某想喝羊肉汤,不去汤馆解馋 -
她被雪藏的原因,国剧今天终于敢播_热议
她始终唱着,爱着,鲜活着。 -
环球速读:暗黑4高效率获得防御类威能方...
暗黑4高效率获得防御类威能方法是很多暗黑玩家都关注的,暗黑4是最新才 -
当前快报:洪都拉斯申请加入新开发银行
中国日报6月10日电(记者:林淑娟)10日,洪都拉斯政府官方推特发文称 -
世界观点:青春不散场!萍乡这场毕业典...
青春不散场!萍乡这场毕业典礼真“走心”热情似火的六月是青春的别... -
嘉定区气象局发布暴雨蓝色预警【Ⅳ级/一...
嘉定区气象局发布暴雨蓝色预警【Ⅳ级 一般】【2023-06-10】嘉定区气象 -
永兴县鲤鱼塘镇:为留守儿童庆生 护航...
永兴县鲤鱼塘镇:为留守儿童庆生护航儿童成长永兴县鲤鱼塘镇在永兴县第 -
新突破、国际首次 中国科学技术领域成...
记者昨天(6月9日)从航天科技集团一院了解到,研制团队近日借助北斗卫 -
越跌越买!192亿大举抄底!股票ETF市场...
虽然本周主流大盘指数表现乏力,但股票ETF市场再现资金逢低“扫货”... -
中方驳斥:无中生有、信口雌黄、恶意诋毁!
指责中国所谓“滥用技术”,更是找错了对象。恰恰是美英不断泛化国... -
热资讯!《雪豹和她的朋友们》上影节展...
第二十五届上海国际电影节正式开票,观众们观影热情高涨,多部影片一秒 -
全球新动态:在二级制裁压力下,俄罗斯...
在过去的一年里,俄罗斯人制定了一些反制裁计划,即使在西方制裁条件下 -
直击2023中国经济传媒大会丨中国经济体...
中国经济体制改革会副会长樊纲主办方供图今日(6月10日),2023中国经 -
新华全媒+ | 从千年三苏祠感悟文化自...
三苏祠是北宋著名文学家苏洵、苏轼、苏辙“三苏父子”的故居。穿越... -
保卫萝卜4周赛6.10攻略 2023年6月10...
保卫萝卜4周赛6 10攻略2023年6月10日西游周赛图文过关一览,保卫萝卜4周 -
索尼旗舰级真无线耳机WF-1000XM5即将发...
【ITBEAR科技资讯】6月10日消息,索尼旗舰级真无线耳机WF-1000XM5似乎 -
佛山退休金计算方法怎么样的?城镇职工...
佛山退休金计算方法怎么样的?城镇职工和城镇居民养老金有差距吗?区别 -
刘国梁提拔8人入围国家队,15岁小张怡宁...
就目前的情况来看,中国乒乓球队已经成为了世界乒坛的独一档了!中国乒 -
环球新动态:楼面价约4793元/㎡!赣州一...
楼面价约4793元 ㎡!赣州一地块被本土土豪拍得!,楼面价,起始价,赣州站 -
买房送黄金的杭州拍地又热爆了!70家房...
买房送黄金的杭州拍地又热爆了!70家房企摇号创新高,滨江、绿城“... -
此人是赵匡胤的救命恩人,当他受到诬陷...
此人是赵匡胤的救命恩人,当他受到诬陷,赵匡胤毫不手软:赐死!,张琼 -
广州退休金与佛山退休金区别大吗?退休...
广州退休与佛山退休金区别大吗?退休待遇怎么样?随社保网小编来看看。 -
品茗升级后用不了(品茗官网升级)
1、不能还原的,只能重新安装软件。2、我可以给你品茗安全计算软件破解 -
吃喝玩乐购!快来一站式畅享非遗购 探...
天津北方网讯:在“文化和自然遗产日”到来之际,主题为“非遗融入... -
大众拟采用电池制造新工艺降低电动汽车...
德国《明镜周刊》6月9日消息,大众汽车电池制造子公司PowerCo首席运营 -
全球百事通!全城寻找“广州十大科学传...
广大科普工作者注意啦!即日起至6月19日,由广州市科协组织开展的“广 -
如何看出12星座暗恋一个人,嫉妒心排名...
喜欢一个人恨不得早一点和这个人在一起,白羊女也会主动分享自己的爱情 -
【地评线】荔枝视评:保护和传承并重,...
6月10日,是2023年“文化和自然遗产日”,今年主题为“文物保护利用... -
万事俱备只欠东风的意思和故事(万事俱...
来为大家解答以上的问题。万事俱备只欠东风的意思和故事,万事俱备只欠 -
世界热消息:闻“香”识西藏:藏香氤氲...
在藏香发源地——西藏尼木县吞巴镇吞达村,氤氲了1300多年的香气依... -
每日头条!RTX4060 Ti显卡破发 跌到2900多
本周RTX4060Ti终于开始销售了。不过现在已经出现了破发的情况,RTX4060 -
当前快播:追梦——40名藏族少年北京行
5月30日至6月3日,来自青海省玉树州儿童福利院的40个孩子参加了由中国 -
美国旧金山毒品泛滥、暴力犯罪猖獗 市...
美国社会活动家拍摄的旧金山市街头情况(社交媒体截图)他长期在社交媒 -
又有新发现!三星堆遗址祭祀区再次成功...
6月10日是文化和自然遗产日,今年的主题为“文物保护利用与文化自信自 -
世界观速讯丨当“亚运”遇上“非遗” ...
恰逢文化和自然遗产日,“相约亚运乐享非遗”系列活动昨天在浙江杭... -
强者恒强,江铃福特全顺何以持续领跑轻...
如果想购买一辆轻客车型,俯瞰全球汽车市场,相信江铃福特全顺定会... -
Datatist画龙科技引领Ai新技术,商业AI...
2023年6月10日,我国人工智能领域规格最高、规模最大、影响力最强的... -
Datatist画龙科技引领Ai新技术,商业AI...
2023年6月10日,我国人工智能领域规格最高、规模最大、影响力最强的... -
天天热讯:《有利的诈欺》绿叶抢眼,尹博...
《有利的诈欺》上周顺利起航,讲述天才少女李露云(千玗嬉饰)被诬蔑杀 -
足字旁如何打出来(足字旁怎么打出来)...
1、一、足的声母z,韵母u,音调zú二、释义:脚:~下(对对方的敬称) -
韩国:2025年起将AI引入小中高课程 到2...
韩国《亚洲日报》10日消息,韩国教育部表示,为满足对多样化学习内容日 -
环球热文:原创组图 | “共建自贸港—...
音乐会现场。音乐会专程邀请了星海音乐学院钢琴系教师、研究生导师、雅 -
环球精选!RK3588-CAN总线
RK3588-CAN总线 -
if little by little(if little)
来为大家解答以上的问题。iflittlebylittle,iflittle这个很多人还不知 -
3系换什么避震好(3系用什么避震?) ...
相信大家对3系换什么避震好,3系用什么避震?的问题都很疑惑,这个问题 -
焦点速讯:win7一开机就蓝屏怎么解决
快来一起看看win7一开机就蓝屏怎么解决的使用教程吧,由于最新的软件更 -
让文明交融之光照耀未来 世界动态
点击观看视频2023年6月10日是“文化和自然遗产日”。历史告诉我们,... -
【天天新要闻】百花盛开是什么季节
1 春季是百花盛开的季节。2 暖和的阳光、温润的气息和轻柔细腻的风,是 -
有承包合同是否不构成劳动关系?_当前简讯
1 包合同与劳动关系的关系,一直是困扰劳动者和用人单位的问题。据我国 -
《潜行者2》确认缺席Xbox发布会!也不参...
开发商GSCGameWorld一位代表在Steam社区回应粉丝时确认《潜行者2:切尔 -
标准样品证书 标准样品-世界聚看点
1、标准样品:标准样品简称标样或称实物标准。2、是根据实施和制定文字 -
叠字联大全简单的5字(叠字联大全)_环...
1、风风雨雨,暖暖寒寒,处处寻寻觅觅莺莺燕燕,花花叶叶,卿卿暮暮朝 -
华阳夫人与秦始皇关系(华阳夫人是秦始...
来为大家解答以上问题。华阳夫人与秦始皇关系,华阳夫人是秦始皇的什么 -
全球快播:贞观政要文言文阅读答案(贞...
1、《贞观政要》是唐代史学家吴兢著的一部政论性史书。2、全书十卷四十 -
热点!实业公司的经营范围有哪些(什么...
1、实业公司通常是一些生产、制造及科技型企业,并且实业公司一般都有 -
山东航空退市成定局!上市23年市值跌去...
早在2000年,山航便已在B股上市,这家在世纪之交曾名列前茅的航司,由 -
学制苗族银饰 传承非遗之美
苗族银饰锻制技艺是苗族喜爱的民间传统工艺,主要用于制作头饰、面饰、 -
盐城公安:矢志护航3.6万考生逐梦之路 ...
“家长您好,请您看一下我们这份防范诈骗试卷……”“警惕‘虚假查... -
全球简讯:ulzzang是什么牌子的(ulzzang...
来为大家解答以上问题。ulzzang是什么牌子的,ulzzang是什么牌子这个很 -
国宝画重点丨上天入海,到处“出差”!...
这件三千年前的文物不仅昭示着中国古代文明的辉煌灿烂更是深度融入了现 -
移动空调制冷效果怎么样(移动空调)
来为大家解答以上问题,移动空调制冷效果怎么样,移动空调很多人还不知 -
无法连接到internet但网络正常(无法连...
来为大家解答以上问题,无法连接到internet但网络正常,无法连接到inte -
江西成立“江西工职院‘6·1’食品安全...
针对江西工业职业技术学院“6·1”食品安全事件,江西省已成立由省... -
每日视点!两部门会商部署重点地区防汛...
新华社北京6月10日电国家防总办公室、应急管理部10日组织防汛专题视频 -
苹果售后维修需要多久 苹果售后维修需...
1-30天不等,苹果售后保修规定一年,如果拿去外部损坏且不严重的话一般 -
今日播报!小说阅读中闲笔的作用 闲笔例子
本篇文章给大家介绍了小说阅读中闲笔的作用,以及闲笔例子其他知识点, -
以金融赋能高质量发展,广东华兴银行亮...
6月9日,以汇聚金融新力量,赋能高质量发展为主题的第十二届中国(... -
localhost是什么意思英语 localhost是...
1、localhost也叫local,正确的解释是:本地服务器127 0 0 1在windows等 -
文化和自然遗产日:江苏扬州推出110场活...
中新网扬州6月10日电(记者崔佳明)10日,江苏扬州启动2023年“文化和自 -
樊纲:今年5%以上经济增长可以期待
樊纲:今年5%以上经济增长可以期待 -
【夏收现场】 知识落“地”助丰收 ...
央广网南京6月9日消息(记者王锡斐)去年,我们关注了位于南京市六合区 -
打击网络谣言 共建清朗家园 中国互联...
此页面是否是列表页或首页?未找到合适正文内容。 -
每日消息!证监会:加强对公募投顾投资环...
人民网北京6月9日电(记者王震)据证监会网站消息,为健全资本市场财富 -
今日最新!金榜题名得第一是什么生肖 ...
1、居(数)(鼠)。2、东方尚英(回答)鼠。3、十二生肖排行第一位:子鼠。 -
今日热讯:王者挠脚心文章长篇 王者荣...
1、王昭君最高打中路,配合急步,因为太脆了。2、后期大招秒人如果觉得 -
当前焦点!我国首个抗新冠药物大规模真实...
6月9日,我国首个针对已上市抗新冠病毒药物的大规模真实世界研究在北京 -
教育部明确要构建这样的基础教育课程体...
央视网消息:近日,教育部印发《关于加强中小学地方课程和校本课程建设 -
全球热讯:全力以赴“龙口夺粮”——各部...
新华社北京6月10日电题:全力以赴“龙口夺粮”——各部门各地多措并... -
每日快报!2023年国家医保目录调整征求意...
中新网6月10日电国家医保局6月9日公布了《2023年国家基本医疗保险、工 -
文物保护利用与文化自信自强——文化和...
点击观看视频一棵树,生生不息一阵风,弦歌不辍从百万年前走来,我是点 -
曼城挖角拜仁后防全能神将,7球1助攻堪...
说他是德甲赛场上的“带刀后卫”,并不为过。如果能从拜仁签下这位... -
世界热资讯!美国夫妇为钱太多发愁!他...
美国一对夫妇正在为钱太多而发愁。据英国广播公司6月9日报道,美国加利 -
养殖野鸡如何找销路的简单介绍(但找不到...
大家好,小编现在给大家详细介绍关于养殖野鸡如何找销路的核心内容以及 -
关于铁路计次票、定期票 如何购买使用...
为进一步方便城市间人员乘车往来交流,满足广大旅客差异化出行需求,国 -
新意满满!成都大运会火炬、场馆长啥样...
成都大运会火炬传递路线速览↓本届大运会的火种是在6月8日中午,搭... -
环球观焦点:国内物价运行总体平稳——...
国家统计局9日发布数据显示,5月份,消费需求继续恢复,全国居民消费价 -
【世界速看料】珠海斗门:白藤规划新建1...
今天,记者从珠海斗门区获悉,根据珠海市自然资源局官网日前发布的春藤 -
【环球热闻】济南海关查获禁止进口固体...
关员正在进行查验作业。海关总署供图据海关总署网站消息,近日,济南海 -
ITS:马来西亚6月1日至10日的棕榈油出口...
据船运调查机构ITS:马来西亚6月1日至10日的棕榈油出口量为295,990吨, -
谁在“组团式”减持?解禁后“急迫式”...
熬过了财报披露“窗口期”,一批A股上市公司大股东、高管不约而同加... -
希捷4TB机械硬盘史低 仅售288元|天天报道
不仅是SSD在降价,目前机械硬盘方面4T大容量已经来到了288元了,正式跌 -
中科院院士欧阳明高:用大模型辅助电池...
每经AI快讯,“我们现在已经进入大模型时代,ChatGPT大家非常熟悉。对 -
文物保护利用与文化自信自强——文化和...
一滴水,万物并育一棵树,生生不息一阵风,弦歌不辍从百万年前走来,我 -
解剖屎山,寻觅黄金之第二弹_每日热讯
大家好,我3y啊。由于去重逻辑重构了几次,好多股东直呼看不懂,于是我