Fork me on GitHub

随笔 - 997  文章 - 5  评论 - 181  阅读 - 300万 

一 前言
 
对于软件工程师来说,没什么比看到一个hello world的打印更让人感觉兴奋了。调试芯片,很多人都知道,hello world这个打印意味着什么。
 
二 软硬件准备
 
1 一个AMA3B的开发板,记得把GPIO22,GPIO23接到串口上,如下图所示:
2 准备好下载bin文件的工具JLINK,这个以前写过,这里就不做赘述了。
3 下载成功之后,打开串口工具,上电,即可看到如下的日志信息,说明系统已经完全起来了。
 
三 源码分析
 
1 串口的初始化,可以看出软硬件的映射关系
复制代码
    //
    // Initialize the printf interface for UART output.
    //
    CHECK_ERRORS(am_hal_uart_initialize(0, &phUART));



    CHECK_ERRORS(am_hal_uart_power_control(phUART, AM_HAL_SYSCTRL_WAKE, false));


    am_hal_uart_clock_speed_e eUartClockSpeed = eUART_CLK_SPEED_DEFAULT ;
    CHECK_ERRORS(am_hal_uart_control(phUART, AM_HAL_UART_CONTROL_CLKSEL, &eUartClockSpeed));
    CHECK_ERRORS(am_hal_uart_configure(phUART, &g_sUartConfig));

    //
    // Enable the UART pins.
    //
    am_hal_gpio_pinconfig(AM_BSP_GPIO_COM_UART_TX, g_AM_BSP_GPIO_COM_UART_TX);
    am_hal_gpio_pinconfig(AM_BSP_GPIO_COM_UART_RX, g_AM_BSP_GPIO_COM_UART_RX);
复制代码

 

2 串口打印函数
 
1
2
3
4
5
6
7
8
9
10
11
12
while (1)
{
    /* code */
    am_util_stdio_printf("Hello World! icnt:%d \n\r",icnt);
    am_util_delay_ms(1000);
    icnt++;
    if(icnt > 10)
    {
        break;
    }
 
}

  

一个怕看不出来,所以多打印几个。
 
四 总结备忘
 
   芯片一旦hello world出来了,就如一个大厦地基已经打好了,具体要建什么样子的楼,就看实际的需求了。
顺便赞一个,这个芯片用起来非常丝滑。高手写的代码啊。

 

 
posted on   虚生  阅读(351)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2020-04-01 ESP8266 下安装esptool.py并使用esptool刷机神助手
点击右上角即可分享
微信分享提示