C语言可变参数机制与裸机环境格式化输出实现
在 IMX6ULL 裸机开发中,当我们在 _main 函数的最早期阶段(board_init_f前期)进行调试时,面临一个尴尬的处境:
- C 运行时库尚未初始化——无法使用标准 printf
- 堆内存管理器不存在——无法使用任何依赖 malloc 的函数
- 只有最原始的硬件访问能力——早期Debug UART调试,可能只实现了 printch(发送单字符)和 printascii(发送字符串)
这时候,如果想输出类似 “DRAM size = 512MB, base = 0x80000000” 这样包含变量的调试信息,就必须自己实现一个格式化输出函数。
此文章需要验证后才能阅读全文
文章作者
STUDYWITHIOT
版权声明
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来自:
STUDYWITHIOT !
请作者喝杯茶吧~