前言
专栏总目录本文主要讲解如何关于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
- 要闻速递:清远公用品牌IP形象亮相
- 今亮点!首台套50万千瓦冲击式水电机组项目开工
- 华西证券:6月上下游对锂盐价格的博弈或将延续 关注上下游一体化企业
- 侠盗猎车手圣安地列斯秘籍攻略(侠盗猎车手圣安地列斯秘籍大全招小弟) 天天热头条
- 头条焦点:Win10中PUBG蓝屏后如何快速修复
- 公司把社保迁回本地怎么办?对社保缴费有什么后果吗?
- 新员工社保缴费基数如何确定?社保基数计算方式是什么?|每日速递
- 社保局中午有人在上班吗?社保局上班时间安排如何?
- 当前简讯:股价暴跌、产能过剩,千亿光伏巨头隆基绿能何时上岸?
- 社保一卡通取消,社保卡银行收回吗?
- 日本为降成本强推核污染水排海 引学者批驳→_世界独家
- 12岁姑娘被查出肺结核!医生提醒:这病好发于年轻女性
- 世界新资讯:AI前哨 | Open AI联合创始人Sam AItman:目前开源不是最佳路径
- 全球即时:郑恺的老婆个人资料(郑恺的老婆)
- 滴滴招聘无车司机可靠吗(滴滴招聘无车司机)
- 环球动态:随美起舞?调查显示欧洲民众不愿意
- 当前消息!申请社保卡需要交费吗?社保卡缴费基数如何确定?
- 今日精选:美克美家天津梅江店焕新开业 新增全案设计业务模式
- 哈尔滨“商转公”热点十问十答!戳这里快速了解
- 白落梅简介出生(白落梅简介) 热点在线
- 足字旁如何打出来(足字旁怎么打出来)|全球热推荐
- 大洋电机拟5000万元-5500万元回购股份,用于实施员工持股计划等
- 病毒性结膜炎的症状(病毒性结膜炎)
- 环球速递!20家入围餐饮企业决出“十大名店” 厦门“名厨名菜名店”全部评出
- 世界速讯:转发收藏!泰安颐博康复医院三伏贴开始预约了!
- 每日观察!市质检院研发项目有新进展 LED行业标准修订获工信部立项
- 世界微速讯:顺德退休金计算方法是什么?2023顺德领取养老金条件是什么?
- 即时:聚焦世遗 | 多图集锦来啦!“文化和自然遗产日”主题宣传活动启动
- 当前视讯!高新资格不达标,高澜股份或损失上千万元
- 广州退休金与佛山退休金区别大吗?退休待遇怎么样?-时讯
- 广州退休金最低标准多少钱?退休工资计算跟职位有关系吗? 每日头条
- 广东省各地退休金标准2023年公布没?今年各地养老金如何计算的?|热闻
- 全球快播:丢失的产业链自主可控权,美国化疗药物紧缺背后
- 吃美食、看电影、赏舞剧!非遗文化在新时代有多潮? 今日热闻
- 全球快消息!6·18理性消费图鉴:消费者回归“人间清醒”,电商女掌门正面交锋,谁将成为价格屠夫?
- 今日热门!诗意盎然的意思(盎然的意思)
- 世界快播:环卫母亲与高考儿子相拥而泣刷屏,普通人改变命运的努力打动人心
- “皮影也科技——非遗科技文化展”开幕 探寻皮影戏中的光影奥秘
- 肠悔青!我花499元买了台小屏平板,结果体验还不如用了5年的小米平板4
- 图灵奖得主杨立昆:AI的逻辑推理和规划能力有限,会犯事实错误和逻辑错误-讯息
- “蔚小理”一季度交卷:理想全面领先、蔚来小鹏寄望下半年 三年“淘汰赛”已拉开序幕|当前独家
- 奥迪中国总裁温泽岳:计划构建中国市场专属的奥迪生态系统
- 环球即时:直击2023中国经济传媒大会丨中国经济体制改革会副会长樊纲:消费需求一时难以扩大,短期内仍寄希望于投资需求
- 环球资讯:最高检:聚焦非法捕捞全链条 依法惩治非法捕捞水产品犯罪
- AI前哨 | OpenAI联合创始人Sam Altman:安全性很重要 不会很快有GPT-5
- 淮南市教育局2018年度政府信息公开工作年度报告(关于淮南市教育局2018年度政府信息公开工作年度报告介绍)
- 环球焦点!淮南市新煲王足球俱乐部(关于淮南市新煲王足球俱乐部介绍)
- 转发+收藏!12306在线选铺服务操作指南来了 每日速讯
- 焦点关注:淮南市政府关于进一步开展向县区政府下放行政权力的通知(关于淮南市政府关于进一步开展向县区政府下放行政权力的通知介绍)
- 广州怎么查自己有没有社保卡?具体有哪些方法?|环球新消息
- 领展澄清:“有意出售内地七个物业项目”没有根据
- 重温《蓝色生死恋》才懂,死去,才是恩熙无望人生的救赎和圆满
- 黑皮诺和赤霞珠哪个后劲大?
- 工信部明确全面推进6G技术研发,10家上市公司“已抢跑” 环球今头条
- 31省养老金调整方案2023何时将公布!今年养老金8000元的会涨多少? 天天观察
- 珠江企业职工退休金有多少?2023年珠江退休金如何计算?
- 聚焦世遗 | 多图集锦来啦!“文化和自然遗产日”主题宣传活动启动 全球观热点
- 广州医保和社保有什么区别?具体如何区别的? 世界热讯
- 今热点:中国“潮”,国际范儿!
- 自动驾驶的“奇点”时刻将近?余承东“剧透”这一时点 天天速读
- 红葡萄酒和白葡萄酒有什么区别? 当前讯息
- 第九届“互联网+”大学生创新创业大赛“青年红色筑梦之旅”活动启动
- 环球滚动:windows全选的快捷键是什么(全选的快捷键是什么)
- 全球最资讯丨微信加好友朋友验证消息什么意思(微信加好友)
- 学制苗族银饰 传承非遗之美
- 世界资讯:国网江苏电力喊你“e起节电” 赢最高100元优惠券
- 一季度亏损扩大1.6倍!将要开源节流的蔚来-热点评
- 定安塔岭工业园升级为省级产业园区-全球观察
- 【全球播资讯】文化和自然遗产日主题宣传片
- 世界时讯:广州社保卡如何解除挂失?有哪些方式的?
- 每日动态!杭州土拍火爆,70家房企抢的地块冻资600亿,绿城幸运摇中
- 这是梅老板主办方视频中,看到梅西后一人发出“国粹”惊讶声 世界头条
- 世界头条:梅西一身休闲装!天使、恩佐、德保罗、帕雷德斯一起抵达
- 上海一业主拍下小区部分车位,改造后能赚千万?邻居们不乐意了! 焦点
- 阳江这个小区“炒”了物业公司!业主:历经九九八十一难
- 国家防总针对南方地区持续降雨启动防汛四级应急响应-环球热资讯
- 世界快看:挖贝北交所周报:北交所上市企业数量达200家 路桥信息过会
- 【世界报资讯】业主们争相出货,房东不亏算幸运…现在的二手房越来越难卖了?
- 哈尔滨哪里海鲜批发便宜-世界报资讯
- 热议:升级后的“村BA”,“村味”会消失吗?
- 天天资讯:外墙破损,装修减配?深圳西部网红盘陷质量风波,开发商回应
- 新买的粉扑需要洗吗 粉扑多久洗一次|全球热讯
- 天天滚动:海南招286人!2023军校招生计划公布
- 造假币怎么判刑
- 沈阳教育资源平台班级空间 沈阳教育资源平台
- 实时焦点:2023年6月10日乙二醛价格最新行情预测
- 2023年6月10日乙二醇醋酸酯(EGDA)价格最新行情预测
- 直击2023中国经济传媒大会丨中国经济体制改革会副会长樊纲:消费需求一时难以扩大,短期内仍寄希望于投资需求
- 宁德时代快充领域进展:充电不到10分钟 续航超400公里
- 2023年山西养老金调整新消息 2022~2023年山西养老金上调方案细则消息(全文)
- 环球视讯!2023年养老金调整第19次上涨了 哪些人养老金今年能涨?
- 热资讯!2023年,广东省退休人员预计能涨多少?2023年广东养老金上调方案公布时间
- 天天热头条丨浙江一铁路旁工厂起火逼停列车 现场黑烟滚滚火光冲天!所幸无伤亡!
- 今日热闻!四部门出手家电下乡 主推绿色智能换新升级
- 大幅降低视频和照片被AI模型成功篡改概率!谷歌、微软争相布局数字水印,受益上市公司一览
- 身体吸脂多久能看出来瘦? 天天热点
- *ST弘高退市已成定局 安信、江海、东兴、东方等券商踩雷 今日热门
- 2023年养老金上调方案最新消息 江苏2023养老金调整方案何时公布?_今头条
- 浙江省,2023年退休人员养老金会涨多少?2022~2023年浙江省的养老金调整新消息_微头条
- 侠盗猎车手圣安地列斯秘籍攻略(侠盗猎车手圣安地列斯秘籍大全招小弟) 天天热头条
- 头条焦点:Win10中PUBG蓝屏后如何快速修复
- 世界新资讯:AI前哨 | Open AI联合创始人Sam AItman:目前开源不是最佳路径
- 大洋电机拟5000万元-5500万元回购股份,用于实施员工持股计划等
- 即时:聚焦世遗 | 多图集锦来啦!“文化和自然遗产日”主题宣传活动启动
- 图灵奖得主杨立昆:AI的逻辑推理和规划能力有限,会犯事实错误和逻辑错误-讯息
- 肠悔青!我花499元买了台小屏平板,结果体验还不如用了5年的小米平板4
- 转发+收藏!12306在线选铺服务操作指南来了 每日速讯
- 聚焦世遗 | 多图集锦来啦!“文化和自然遗产日”主题宣传活动启动 全球观热点
- 自动驾驶的“奇点”时刻将近?余承东“剧透”这一时点 天天速读
公司
焦点
精彩推送
- 全球报道:广汇汽车与工行江西省分行签署战略合作协议
- 国家防总针对南方地区持续降雨启动防汛四级应急响应
- 焦点精选!定位胆出0买03697码稳赚技巧,投资高手必备!
- 快播:中经评论:以“村BA”点燃乡村活力
- 天天快消息!2023年农历5月剖腹产吉日吉时辰 2023年农历5月剖腹产黄道吉日一览表
- 向佐秀恩爱遭吐槽,称一生只为郭碧婷剥虾,网友:与大S最般配_天天微速讯
- 全球快报:丙烯腈商品报价动态(2023-06-10)
- 硼砂商品报价动态(2023-06-10)
- 【世界报资讯】混二甲苯商品报价动态(2023-06-10)
- 2023年山东省养老金调整方案公布了?山东省2023年退休金增长方案是多少出了吗?
- 陕西两地警方紧急预警!
- 液化天然气商品报价动态(2023-06-10)
- 世界讯息:新疆2023年退休养老金增长多少钱 新疆2023年退休人员养老金预计会涨多少?
- 环球热点!陕西2023年退休金增长方案公布时间 2022~2023年陕西养老金调整时间及方案最新消息
- 南京邮电大学在职MBA项目的培养方向有哪些? 当前快播
- 环球新消息丨石英砂商品报价动态(2023-06-10)
- 本周股价下跌,仍然获得北向资金买入的品种
- 诏安县气象台发布雷电黄色预警信号【2023-06-10】
- 公司问答丨沃森生物:13价肺炎球菌结合疫苗在孟加拉国完成了本地化产品注册
- 天天百事通!思明区政务服务中心“政务智能办”专区启用
- 2023年辽宁养老金上调方案公布在即 2023辽宁省退休人员涨工资细则最新消息
- 青海省2023年调整企业退休人员养老金方案公布了吗 2023年青海养老金调整细则什么时候公布?|环球热点
- 极目时评丨环卫母亲与高考儿子相拥而泣刷屏,普通人改变命运的努力打动人心
- 赶紧转给爸妈!陕西警方紧急预警!
- 下单成年陪玩来的却是未成年人?陪玩行业乱象调查 速读
- 河北着力促进高校毕业生顺利就业-环球微速讯
- 全球热门:韩春明是什么电视剧的主题曲 韩春明是什么电视剧
- 梦想中的同事!乒乓球选手陈梦在海信新风空调正式入职?|每日观察
- 环球今亮点!股价变天背后,山西汾酒需要寻找自己的“功守道”
- 第53届亚太桥牌锦标赛开赛 天天微动态
- 全球微动态丨2023年里昂领事节举办 法国小熊猫学校助力“乒乓外交”
- 天天滚动:15时官宣!钱天一头号种子出战,单挑早田希娜,携手樊振东抗敌!
- 每日消息!15时官宣!钱天一头号种子出战,单挑早田希娜,携手樊振东抗敌!
- 高考今日落幕 多地陆续公布志愿填报时间!
- 卧铺可自选上下铺位置 今日起12306试行在线选铺服务-焦点日报
- 改版遭吐槽,负责人被裁,6亿人的记忆存储器走向没落? 当前热讯
- 学制苗族银饰 传承非遗之美
- 天津发布促进港产城高质量融合发展政策措施 多重维度推动港产城互联互补互促-世界时讯
- 王楠跪在地上指导女儿打球,鼓掌叫好,老公郭斌:这妈能打90分-环球快看
- 世界资讯:升级后的“村BA”,“村味”会消失吗?
- 快来泰达植物资源库打卡 新晋“花王”绣球花盛放迎客
- 吃美食、看电影、赏舞剧!非遗文化在新时代有多潮? 天天看点
- 全球微速讯:第12届金交会开幕,现场签约总金额超3500亿元
- 转发
- 公募基金降费酿变 将采取“新老划断” 最快或一个月内出台|全球微资讯
- 组图|2023高考结束!青春不散场 未来皆可期|世界热点评
- 死神vs火影33隐藏大招 死神vs火影33不允许加壳运行|环球观焦点
- 楼盘打新套利动辄千万,有人“众筹买房”,楼市限价走到十字路口
- 北向资金本周流出这些品种! 世界热闻
- 杀价、撤牌:上海二手房也卖不动了?
- 公司问答丨汤臣倍健:BYHEALTH目前收入贡献主要来自中国跨境电商渠道
- 从“万村”到“统租”,深圳城中村改造没有退堂鼓_全球动态
- 晚上跑步好吗 晚上跑步好还是早上跑步好
- 那一瞬间我感动的落泪作文 那一瞬间我
- 开赛!32支龙舟队齐聚遗爱湖,超燃“狂飙”! 环球速读
- 首台套50万千瓦冲击式水电机组项目开工 世界报资讯
- 唐国强书法家(唐国强 中国当代画家)
- 当前资讯!盗墓笔记主角是吴邪还是张起灵_盗墓笔记 吴邪父母是
- 中信建投陈果:港股迎来年内最佳机会 天天观天下
- 杨幕主演的电视剧都有哪些_杨幕
- 自动驾驶的“奇点”时刻将近?余承东“剧透”这一时点|每日关注
- 全球微头条丨北京旅途科技有限公司(北京旅行者科技有限公司)
- 海南海口好吃又好玩的地方?
- 西安因你而美 | “龙口夺粮”抢收忙 西咸志愿者在行动
- 观热点:痰为什么是黑色的(吐痰黑色是怎么回事)
- 2023年陕西省普高学业水平考试笔试科目成绩公布 等级划分标准有较大调整
- 这个小城培育发展新业态 “平罗八点半”夜经济启动
- 强强联手!银川打造科技资源统筹服务平台_焦点快看
- 蓉火传递启动|“中国民航英雄机组”成员毕楠:当上火炬手,是荣誉也是责任-每日看点
- 2023青岛国际标准化大会标准化与现代绿色港航平行分会举行 环球聚焦
- 前5个月我国完成水利建设投资逾4100亿元 同比增长32.1%
- 天天即时:暗黑4屠戮者巅峰效果介绍
- 邯郸邱县古城营镇永远的朋友
- 当前热议!比亚迪宋PLUS DM-i油箱国内外双标 “打脸”独家专利技术?
- 全球热头条丨转发
- 新亚制程:进入水逆期的消费电子龙头 前沿热点
- 北向资金本周流入这些品种!
- 环球关注:患儿呕吐被误诊为急性胃炎,一查竟是这个凶险病!
- 睡前故事对孩子成长的重要性,父母要知道,做对了孩子远超同龄人_每日动态
- 环球快看点丨视频丨美国音乐家的中国西部情愫 最喜欢“老朋友”这个中国词语
- 世界观热点:美国又将两家中企列入禁止进口名单 中方此前已多次否认美方指控
- 学制苗族银饰 传承非遗之美
- 当前消息!下周近3900亿解禁洪流来袭 2股解禁比例超50%
- 转发
- 世界讯息:五部门联合启动河湖安全保护专项执法行动
- 5000辆FF91,换贾跃亭一次回国?_当前视讯
- 【世界快播报】杭州土拍热度再创新高,70家房企争抢一宗地,8成封顶摇号
- 全球即时:PSP电玩_psp电玩
- 湖南凤凰古城天气预报7天准确(湖南凤凰古城天气)
- 肇庆职工医保报销比例2023年是多少?缴费比例是多少? 环球要闻
- 北京租房提取公积金调整2023怎么变?租房提取额度提高多少
- 当前时讯:恒指牛熊街货比(44.9:55.1)︱6月10日
- 全球今亮点!科雷傲汽车配件_科雷傲的致命缺点
- 超九成债基“赚钱” 机构股债配置攻守兼备
- 全球即时看!上海支点教育培训有限公司小程序_上海支点教育培训有限公司
- 2023年深圳职工医保缴费标准是多少?|当前快报
- 环球观察:吉尔吉斯半人马声望奖励_吉尔吉斯半人马声望
- 今日要闻!证监会就公开募集证券投资基金投资顾问业务管理规定公开征求意见
- 世界快播:冰雪世界生存者好玩吗 冰雪世界生存者玩法简介
- AMD欲摘英伟达“AI王冠”?就在下周 算力芯片“一出好戏”将上演