ISP试验
一.布景
因为前面的试验都是用仿真器将代码下载到AT91SAM7S64的SRAM里调试的,还不能在实践的Flash ROM里跑。所以在这个试验中,咱们将经过ATMEL供给的SAM-BA 软件和AT91SAM7S64自带的ROMBoot功用,完结AT91SAM7S64的Flash ROOM的在线烧写。
二.试验意图
用前面“I/O口输入试验”的源程序生成二进制文件,下载到AT91SAM7S64的Flash ROM中,且能脱机正确运转。
三.操作方法
1> 装置。双击Install SAM-BA.exe文件运转,按提示一步步装置即可。
2> 衔接好硬件,且使AT91SAM7S64处于RomBoot状况。
3> 运转。双击SAM-BA图标呈现如下图所示的发动窗口:
图4.21 SAM发动窗口
当正确设置后,按“DBGU connection”按钮将翻开SAM-BA编程环境,如下图所示:
图4.22SAM-BA1.0编程环境
4> 用ADS1.2生成二进制文件。
5> 编程。点击“Flash->Download/Upload File->Send File Name”项的“Browse”按钮翻开二进制文件后,点击“Send File”按钮开端下载程序。
6> 复位方针板,开端运转用户程序。
四.呈现的问题与解决方法
1> ADS软件编译后不能发生二进制等方针文件
榜首、 可以用DOS指令手艺生成二进制文件。
第二、 在“DebugRel Settings”中,将“Target->Target Settingsr->Post-linker”项的“None”修改成“ARMfromELF”,再在“DebugRel Settings”中的“Linker->ARM fromELF->Output format”中设置成Plain binary。
2> 不能进入SAM-BA软件,总呈现下述提示错误信息,但硬件衔接都正确。
图. 错误信息1
图. 错误信息2
原因是将用户程序下载到AT91SAM7Sxx芯片后,同时会擦除去内部的BootRom程序,此刻就不能再完结在线下载的功用!因而起动SAM-BA软件会弹出上述的犯错信息,有必要从头康复内部的BootRom引导程序。可将AT91SAM7S64的TST管脚接高电平10S多时刻,再从头复位。此刻每次复位后都将在DBGU口发送“RoomBoot”的ASCII字符,可用超级终端检查。
3> 不能进行RomBoot康复,且不能与仿真器进行衔接。
原因是器材的安全保密位被编程,可以将AT91SAM7S64的ERASE脚接高,将flash内容初始化(或许说是擦除),再进行RomBoot康复。
五.总结
到现在为此,根本上完结了AT91SAM7S64的大部分外围试验,而且也可以将程序烧到AT91SAM7S64的内部Flash ROM里,而脱离仿真器进行运转。我个人认为其它没有完结的试验在原理与使用上根本相同,应该没有什么难点。
可以说现在现已根本上可以将AT91SAM7S64像一般单片机相同使用了,但作为ARM这种高性能的处理器来讲,这是远远不够的,我期望自己有时刻可以将μCOS-Ⅱ移植上去,到时再与我们评论。