请问在arm开发板中是如何实现printf这个打印的?

[复制链接]
查看11 | 回复2 | 2016-9-18 17:25:33 | 显示全部楼层 |阅读模式
printf的目标设备很多,可以是屏幕、串口等终端。系统有三个特殊描述符或文件句柄(以下用设备描述符表示,linux下为文件描述符,windows下为文件句柄),分别为stdin、stdout、stderr,通常这三个描述符映射为同一设备(串口...)。调用printf时,首先进行格式化(一些替换,如%d会替换为相应变量的十进制值...),得到实际要打印的字符串,最终调用write函数。调用write函数时,系统会将stdin描述符作为write函数需要的文件,同时传递字符串的指针、长度。其实这个过程给在上层应用程序写文件的操作完全一样,只是标准库或系统对终端设备的写进行了再次封装。...
回复

使用道具 举报

千问 | 2016-9-18 17:25:33 | 显示全部楼层
这些都是透过硬件驱动程序,device driver。不知道你的问题想知道什麽。简单的描述就是,printf 会呼叫硬件驱动程序中某个API,这个API再去户叫更内层的实际硬件驱动。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行