ATSAMV7Xult板卡调试Nuttx系统------UART输出调试

来源:互联网 发布:软件测试文档模板 编辑:程序博客网 时间:2024/04/27 22:52

 ATSAMV7Xult板卡UART输出调试

1.编译好的NuttX.bin文件烧录至ATSAMV7Xult板卡上后,开机发现没有任何输出,开始怀疑是板卡没有启动;

开机初始化阶段,执行LED的点灯操作,验证下来发现LED可以正常的点亮,即clock已经OK,GPIO可以正常操作;

2.后来从ATMEL官网下载了一些Sample代码,而Sample代码执行时UART可以正常输出,通过Trace32 Simulator load Nuttx.elf进行模拟,在printf时操作的UART并非普通的UART,而是USART1,而Nuttx系统默认的UART为UART3

3.找到问题后,立刻把系统配置.config中UART3的相关配置改成USART1,大致选项如下:

CONFIG_SAMV7_USART1=y
CONFIG_USART1_SERIALDRIVER=y
CONFIG_USART1_SERIAL_CONSOLE=y
CONFIG_USART1_RXBUFSIZE=256
CONFIG_USART1_TXBUFSIZE=256
CONFIG_USART1_BAUD=115200
CONFIG_USART1_BITS=8
CONFIG_USART1_PARITY=0
CONFIG_USART1_2STOP=0

4.重新编译NuttX系统,烧录至开发板上,仍然无法输出,后折腾了一上午,最后在ATSAMV7Xult板卡配置中的readme.txt发现,如果使用USART必须打开选项CONFIG_SAMV7_USBDEVHS才可以,打开如下选项后,clean 重新编译系统烧录后,显示NuttX的shell界面;

CONFIG_SAMV7_USBDEVHS=y


说明:

1.Nuttx代码编译,是基于64位ubuntu-14.04上Build的;

2.开发板是ATMEL的ATSAMV7Xult板卡;

3.烧录时使用的工具,是ATMEL官方下载的集成开发环境as-installer-7.0.1006-full.exe,自带的烧录工具(注意:安装时必须是windows7SP1版本);

4.板卡通过miniusb与PC连接,安装ATMEL官网的IDE环境后,驱动会自动安装,弹出UART端口;

5.USART和UART的区别还不太了解,至少EVB板上的miniusb连接PC显示的那个虚拟串口,内部连接就是USART1


笔者水平有限,相关错误和问题请大家多多指正!谢谢!

0 0