【ARM】Tiny4412裸板编程之 printf函数

00. 目录

01. 开发环境

  • 开发板:Tiny4412SDK标准版 「Tiny4412 SDK 1506」
  • 工具:「arm-linux-gcc-4.5.1」 「minicom」 「dnw」
  • 平台:Ubuntu 20.04

02. printf概述

printf()函数是格式化输出函数, 通常用于向标准输出设备按规定格式输出信息。在编写程序时常常会用到此函数。函数的原型为:linux

int printf(const char *format, …);函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。web

printf属于标准库函数,其实uboot中也提供了printf函数。shell

03. Uboot中printf函数

uboot中提供了printf相关的函数的地址app

43e1188c T serial_printf
43e11978 T fprintf
43e11a2c T printf
43e11a70 T vprintf
43e26b74 T vsprintf
43e271ac T sprintf

04. 程序示例一

test.c文件svg

#include "gpio.h"

//函数指针
int (*print)(const char *format, ...) = (void*)0x43e11a2c;

int main(void)
{
    int i = 0;

     for (i = 0; i < 10; i++)
     {
            print("i = %d\n", i); 
     }

    return 0;
}

执行结果函数

## Starting application at 0x40008000 ...
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
## Application terminated, rc = 0x0

05. 附录

Exynos 4412 SCP_Users Manual_Ver.0.10.00_Preliminary0.pdf工具