一 前言
对于软件工程师来说,没什么比看到一个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出来了,就如一个大厦地基已经打好了,具体要建什么样子的楼,就看实际的需求了。
顺便赞一个,这个芯片用起来非常丝滑。高手写的代码啊。
作者:虚生 出处:https://www.cnblogs.com/dylancao/ 以音频和传感器算法为核心的智能可穿戴产品解决方案提供商 ,提供可穿戴智能软硬件解决方案的设计,开发和咨询服务。 勾搭热线:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188 |
![]() |
分类:
stm32开发系列
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2020-04-01 ESP8266 下安装esptool.py并使用esptool刷机神助手