首页 理论教育 ARM体系下C语言移植printf函数的技术

ARM体系下C语言移植printf函数的技术

时间:2023-10-19 理论教育 版权反馈
【摘要】:如果需要测试其他串口,只需在tester_serial_stdio()函数中将s5p6818_serial_write_string()和serial_printf()函数的第一个传入参数改为想要测试的串口即可。通过实现serial_printf()函数模拟C库函数中的printf()函数,其底层同样是调用s5p6818_serial_write()函数直接将数据写入UART_UTXH寄存器,实现串口输出。

ARM体系下C语言移植printf函数的技术

1.实验原理

本实验工程为“ours-a53-serial-stdio”。此程序模拟了C库函数中的printf()函数,主要的控制逻辑见如下代码:

在主函数main()中,通过do_system_initial()函数调用s5p6818_serial_initial()函数初始化4路串口,通过tester_serial_stdio()函数测试串口0。如果需要测试其他串口,只需在tester_serial_stdio()函数中将s5p6818_serial_write_string()和serial_printf()函数的第一个传入参数改为想要测试的串口即可。

通过实现serial_printf()函数模拟C库函数中的printf()函数,其底层同样是调用s5p6818_serial_write()函数直接将数据写入UART_UTXH寄存器,实现串口输出。

2.实验现象

将烧写了镜像的TF卡插到实验平台下侧的TF卡槽中,上电开机,串口会不断打印信息。

3.实验步骤(www.xing528.com)

1)导入并编译工程

通过Eclipse导入“ours-a53-serial-stdio”工程。工程导入完成后,用鼠标右键单击工程名,选择“Build Project”命令编译工程,编译的过程和结果会在“Console”窗口中显示,最终生成“ours-a53-serial-stdiopak.bin”文件,这是要使用的镜像文件。

2)烧写TF卡

以管理员身份运行工程目录下的“tools/windows/SDcardBurner.exe”烧写软件,选择编译生成的“ours-a53-serial-stdiopak.bin”文件进行烧写。

烧写完成后,通过串口线连接实验平台的Debug串口(左上角DB9接口J10),打开串口终端软件。将烧有控制程序的TF卡插到实验平台下侧的TF卡槽中,给实验平台上电,串口会不断输出打印信息。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈