SDK直接输出打印 hello world

通过PS端的MIO接口连接uart,直接打印出hello world,以下为SDK代码部分解释:

int main()
{
	//对平台进行初始化,
    init_platform();
	//初始化完成之后,直接使用函数printf就可以把字符打印到串口上显示,
    print("Hello World\n\r");
	//对平台进行清除,主要是对寄存器进行清除
    cleanup_platform();
    return 0;
}
void
init_platform()
{
	//对寄存器进行初始化,
    enable_caches();
	//对uart进行初始化
    init_uart();
}
//使用#ifdef在编译的时候就已经确定好使用哪一个cache的初始化
void
enable_caches()
{
#ifdef __PPC__
    Xil_ICacheEnableRegion(CACHEABLE_REGION_MASK);
    Xil_DCacheEnableRegion(CACHEABLE_REGION_MASK);
#elif __MICROBLAZE__
#ifdef XPAR_MICROBLAZE_USE_ICACHE
	//Enable the instruction cache.
    Xil_ICacheEnable();
#endif
#ifdef XPAR_MICROBLAZE_USE_DCACHE
	//Enable the Data cache.
    Xil_DCacheEnable();
#endif
#endif
}
//使用#ifdef在编译的时候就已经对uart初始化完成
void
init_uart()
{
#ifdef STDOUT_IS_16550
	//对uart的波特率进行设置,
    XUartNs550_SetBaud(STDOUT_BASEADDR, XPAR_XUARTNS550_CLOCK_HZ, UART_BAUD);
	//对uart的control register进行设置
    XUartNs550_SetLineControlReg(STDOUT_BASEADDR, XUN_LCR_8_DATA_BITS);
#endif
    /* Bootrom/BSP configures PS7/PSU UART to 115200 bps */
}

欢迎大家留言提问!

你可能感兴趣的:(SDK,SDK,ARM打印)