初学ARM就遇难:超级终端没显示任何信息,是什么原因??

来源:百度知道 编辑:UC知道 时间:2024/05/30 08:42:44
小弟刚开始学习ARM,借了个FFT--S3C2410的试验箱,按照说明接好了线,超级终端也设置好并连接上了,仿真器FFT-ICE也能下载程序,并能够单步调试,但是在进行整板各模块测试时,超级终端始终没有显示,为什么呢????急!!哪位大哥大姐在学习ARM中时是否也遇到过同样 的问题??如何解决的?或有和建议,恳请不吝赐教指导。多谢了!!!!
bootloader不就是启动代码吗?即2410init.s文件吗?我将2410test.mcp工程中所有文件编译后用AXD调试,程序中有对串口的初始化的呀。我不知道bootloader跟启动代码有什么区别和联系?在不用操作系统交叉开发环境下也要下载bootloader?开发板是预先装Linux的,如果预装 的U-boot和Linux都没有了,也不能开发无操作系统的程序吗?比如一些LED,数码管,按键的测试程序。

1、检查串口有没有正确设置,如波特率、校验位和流控制。

2、程序中是否有对串口正确初始化?如果有BootLoader,这一工作应该由BootLoader来完成,则需检查BootLoader,或者可能根本就没有BootLoader,而你的程序也没有对串口进行初始化,当然就不会有输出了

bootloader是启动代码,裸机跑程序时bootloader指的就是2410init.s,有u-boot或其他bootloader时2410init.s只是bootloader的一部分。它的功能是:初始化中断向量表,初始化堆栈,初始化工作模式,如果代码是烧在ROM上的,还负责把代码搬到RAM上,跳转到main。网上有详细解释2410init.s文件的文章,自己去看一看。

在不跑操作系统时,也是要bootloader的,上面一段已经粗略提了一下它的功能,无操作系统时也需要它。

用不用交叉编译器跟有没有bootloader,没有什么必然联系,无论你在windows的ADS上或者是linux下开发ARM的程序,反正你一编译,就是交叉编译,只是在windows下ADS这些IDE会为你解决这一问题,你要做的只是按一下编译那个图标,而linux下要自己键入arm-linux-gcc而已。

如果开发板预装的u-boot没有了,那你建立工程文件的时候,你2410init.s这些文件,就不能省了,因为要靠它们来引导程序。如果有u-boot或其他bootloader,那你只要交叉编译出一个可执行文件,通过u-boot烧进板子,烧在RAM就go一下,烧在flash就boot,就OK了。

回到串口的问题,如果你真发现有对串口初始化,那就检查下是否正确初始化,或者端口正不正确。

无操作系统的情况下,除非你在程序里用UART,否则串口就应该是没输出的,因为你没有让它有输出!

串口没接好,换个端口试试

波特率对吗