一种基于SoC的无线智能程序加载方法及系统的制作方法

文档序号:9787218阅读:401来源:国知局
一种基于SoC的无线智能程序加载方法及系统的制作方法
【技术领域】
[0001]本发明涉及嵌入式SoC设计领域,特别涉及一种基于SoC的无线智能程序加载方法及系统。
【背景技术】
[0002]SoC(System-on-chip)是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。一般包括中央处理器、存储器以及外围电路等。SoC是与其它技术并行发展的,它可以提供增强的时钟频率,降低微芯片的功耗,在嵌入式系统中有广泛的应用。
[0003]对于SoC设计来说,搭好环境后,还得有相应的一套IDE开发工具,包括装有配套开发环境的PC,电路板和连接线。开发完成后应用于嵌入式领域,一般很难支持二次开发,或者支持二次开发,但是受带开发环境的PC终端、电路板、连接线等条件的约束很不方便。

【发明内容】

[0004]为了解决上述技术问题,本发明提供一种能方便实现二次开发、芯片利用率高的基于SoC的线智能程序加载方法,并提供一种线智能程序加载SoC系统。
[0005]本发明解决上述问题的技术方案是:一种基于SoC的无线智能程序加载方法,步骤如下:
(1)搭建SoC系统;
(2)将加载启动代码烧录至只读存储器中;
(3)将flash存储器划分成若干个程序区,并通过加载指令把不同的程序分别加载到不同的程序区;
(4)运行加载启动代码代码后,执行串行外设接口和通用异步收发传输器的初始化命令,并监测串口接收到的命令,从flash存储器中选择相应程序区实现程序到内存模块的拷贝;
(5)执行跳转命令,将处理器指向内存模块的起始位置,实现系统的自启动。
[0006]上述基于SoC的无线智能程序加载方法,所述步骤(I)中,采用硬件描述语言搭建SoC系统。
[0007]上述基于SoC的无线智能程序加载方法,所述步骤(2)的具体步骤为:
步骤A:安装OpenRISC交叉编译工具链和Xi I inx ISE工具;
步骤B:用汇编语言设计加载启动代码;
步骤C:通过交叉编译工具链把加载启动代码从汇编语言编译成硬件描述语言,并实例化到soc系统顶层中。
[0008]上述基于SoC的无线智能程序加载方法,所述步骤(3)中,flash存储器地址从0x100000到OxIcOOOO区域是soc系统bit文件放置区,步骤(3)具体步骤为:
步骤D:通过交叉编译工具链将三个待烧录程序编译成三个二进制文件,并把soc系统从硬件描述语言变成bit文件;
步骤E:利用Xi I inx ISE中的impact工具将编译好的soc系统bit文件烧录至flash存储器0x100000到OxIcOOOO区域,把三个二进制文件分别烧录到flash的三个不同程序区;其中,地址从OxIcOOOI到OxlfOOOO是程序区I,地址从OxlfOOOl到0x220000是程序区Π,地址从0x220001 到0x250000 是程序区 ΙΠ。
[0009]上述基于SoC的无线智能程序加载方法,所述步骤(4)具体步骤为:
步骤F:初始化串行外设接口和通用异步收发传输器,并实时监测终端发过来的命令;若监测到命令,则执行步骤G,否则继续执行步骤F;
步骤G:效验接收到的命令是否为有效命令,是则执行步骤H,否则通过通用异步收发传输器和蓝牙模块向终端发送“错误”提示,重新执行步骤F;
步骤H:根据接收到的命令选择flash存储器相应程序区的有效地址;
步骤I:初始化串行外设接口,产生串行外设接口时序和发送读命令;
步骤J:根据flash程序区的有效地址拷贝程序到内存模块中;
步骤K:比较程序大小是否等于程序大小变量sizeword的值,是则表明程序拷贝完成,否则执行步骤J。
[0010]一种无线智能程序加载SoC系统,包括SoC最小系统、蓝牙模块和终端,所述SoC最小系统包括处理器、只读存储器、总线仲裁模块、串行外设接口、内存模块、通用异步收发传输器、时钟模块,所述处理器、只读存储器、串行外设接口、内存模块、时钟模块分别与总线仲裁模块相连,终端与蓝牙模块实现无线通信,蓝牙模块经通用异步收发传输器与总线仲裁模块相连。
[0011]本发明的有益效果在于:
1、本发明基于SoC的无线智能程序加载方法中,首先将flash存储器划分成若干个程序区,并通过加载指令把不同的程序分别加载到不同的程序区,然后运行加载启动代码代码,初始化串行外设接口并监测串口接收到的命令,从flash存储器中选择相应程序区实现程序到内存模块的拷贝,最后执行跳转命令,将处理器指向内存模块的起始位置,实现系统的自启动;整个加载过程简单,不需要接线和留出程序加载接口,也不需要相应的IDE软件来加载程序,通过手机或带有蓝牙模块的终端就可以加载不同的程序,适用范围广。
[0012]2、本发明的SoC设计系统中,在原有最小系统中加入了蓝牙模块以及带蓝牙功能的终端,从而通过无线控制实现不同程序的加载,简化了芯片的二次开发,增加了芯片的利用率。
【附图说明】
[0013]图1为本发明的SoC设计系统的结构框图。
[0014]图2为本发明的SoC设计方法的流程图。
[0015]图3为本发明的flash存储器程序区划分结构图。
[0016]图4为本发明的SoC设计方法中程序加载的步骤流程图。
【具体实施方式】
[0017]下面结合附图和实施例对本发明作进一步的说明。
[0018]如图1所示,一种无线智能程序加载SoC系统,包括SoC最小系统、蓝牙模块和终端,所述SoC最小系统包括处理器0R1200、只读存储器ROM、WiShbone总线仲裁模块、串行外设接口 SP1、内存模块DDR2、通用异步收发传输器UART、时钟模块,所述处理器ORl200、只读存储器ROM、串行外设接口 SP1、内存模块DDR2、时钟模块分别与Wi shbone总线仲裁模块相连,终端与蓝牙模块实现无线通信,蓝牙模块经通用异步收发传输器UART与Wishbone总线仲裁模块相连。
[0019]所述终端用于通过所述蓝牙模块和所述SoC最小系统中的通用异步收发传输器UART将选择程序加载命令发送至所述SoC最小系统;以及接收显示所述SoC最小系统通过通用异步收发传输器UART传过来的提示命令;
所述SoC最小系统用于通过通用异步收发传输器UART接收所述终端发送的命令,实现从flash存储器选择不同程序区的程序加载至内存模块DDR2的功能。
[0020]所述Wi shbone总线仲裁模块,运行Wi shbone总线仲裁逻辑代码后,实现主设备抢占总线的轮循机制。
[0021]如图2所示,一种基于SoC的无线智能程序加载方法,步骤如下:
(1)采用硬件描述语言搭建SoC系统;
(2)将加载启动代码烧录至只读
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1