资源描述:
《c6000的片外flash编程加载方法研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第&&卷第!期成都信息工程学院学报Q@4S&&N@S!&’’#年&月=JM?N0OJ3+P2N>,MMNR3BTS&’’#文章编号:!"#!$!#%&(&’’#)’!$’’’($’)!""’’’的片外#$%&’编程加载方法研究杨尚胜,姚振东(成都信息工程学院电子工程系,四川成都"!’&)))摘要:利用*+"’’’系列,-.的,/012,/0上电自动引导构思出*+"’’’的两级引导加载原理,仿照*+)’’’的34567在线编程技术形成*+"’’’片外34567的程序固化方法
2、,通过,-8"#!!平台展现出*+"’’’外扩34567的在线编程和两级引导加载自举的具体实现步骤。关键词:,-.;*+"’’’;引导加载;在线编程;非易失存储器中图分类号:9.:!!;)&文献标识码:0!引言9<公司的9/-:&’+"’’’系列(以下简称*+"’’’),-.功能强大,运行速度快,片内资源丰富,外扩存储器方便,因此在雷达、通信、图像处理等领域应用极为广泛。由于非易失存储器的存取速度较低,因此*+"’’’内部不设34567等非易失存储器。而真实系统除调试外是不能通过=90>仿真口来加载程序工作的,因此只能靠执行外部非
3、易失程序存储器的指令代码工作(速度较低),或通过其它方法将其实际工作的指令代码拷贝到片内或片外其它高速?0/中运行来工作(速度最高)———引导加载,这是实际工作模式。考虑到系统的尺寸和成本,一般选用集成度高、功耗低的贴片式廉价34567作为片外非易失程序存储器。由于34567在线,不能插拔,这就限制了专用编程器对其进行烧写(程序固化)。况且这种程序固化方法要将写入的程序转换成专用编程器能够接收的格式,比较麻烦。因此在线编程方法的研究十分必要。在,-.系统中,利用=90>仿真接口,通过编程,在+@AB+@CD@6BE-FGAH(@以
4、下简称++-)环境下就可以实现对系统电擦除类存储器(如34567)的在线烧写,然后,-.可以脱离仿真器启动。而*+"’’’比较独特,与其它系列产品有所不同,因此下面将通过一个在,-8"#!!上成功实现的例子,详细描述一种快速、简单的,针对*+"’’’的外扩34567的通用在线编程方法,以及如何通过两级引导加载,最后实现系统的自举引导。&两级引导加载,-.系统的自举启动(I@@F),是,-.在上电复位之后执行的一段代码(一般在片内?J/中,即I@@F?J/,但在*+"’’’是,/0控制完成的),用于完成将用户的应用程序的代码(一般是
5、外部慢速非易失程序存储器)复制到,-.系统的高速?0/中,然后把程序执行权交给用户程序,使用户程序能够高速运行,满足用户对程序的运行速度和实时性的要求。*+"’’’系列,-.提供了:种引导方式:不引导、片外?J/引导以及通过主接口引导。在实际,-.应用系统中,最广泛采用的是片外?J/引导加载方式。片外?J/引导的原理是,,-.系统在上电复位结束时,会通过*+"’’’的,/012,/0控制器,自动从片外?J/的’地址空间引导加载一定数目(对+"&’K1"#’K,是指+2!映射地址开始的"%8ILFB6;对+"&!K1"#!K1"%K
6、,是指+2!映射的地址开始的!8ILFB6。)的代码到*+"’’’片内的?0/空间,并从地址’处开始放置。随后+.M完成复位,并且跳转到片内?0/的’地址执行相应的代码(这就完成了第一级引导加载)。对+"&’K1"#’K,"%8ILFB6的程序量在中小规模信号处理中已够用;但在大规模复杂信号处理中则十分紧张。对+"&!K1"#!K1"%K来说,!8ILFB6的程序量往往难以实现有效的信号处理。因此只通过上述第一级加载通常是不够的,可采用两级引导加载的方法:将这有限容量的程序指令代码设计成二级引导代码,一级加载完成后相继执行二级引导
7、代码,将实际工作的、存于片外慢速非易失程序存储器的指令代码搬移到片内或片外高速?0/中运行。收稿日期:&’’"$’"$!:!9成都信息工程学院学报第::卷可见,两级引导加载的原理如图!所示。讨论如下:首先,编辑一个内存复制程序,即引导加载程序%&&’()&*+,-,实践证明这种程序都小于!.,并且把这个程序烧写到片外/01开始的!.地址空间;然后,再编辑自己需要的应用程序,不妨称为23,-(4&+,,并且把这段代码放到片外/01的!.之后空间里去。这样经过第一级引导加载后,%&&’()&*+,-在"#$!!内部/51运行,完成23
8、,-(4&+,从片外/01到片内/51的复制,完成第二级引导加载,同时%&&’()&*+,-把控制权交给23,-(4&+,。显然,通过这样的两级引导加载,可以完成理论上任意长度的23,-(4&+,的引导加载。;1<6:9"789:(以下简称"789