法律状态公告日
法律状态信息
法律状态
2019-02-05
授权
授权
2016-06-01
实质审查的生效 IPC(主分类):G06F9/445 申请日:20160311
实质审查的生效
2016-05-04
公开
公开
技术领域
本发明涉及嵌入式SoC设计领域,特别涉及一种基于SoC的无线智能程序加载方法及系统。
背景技术
SoC(System-on-chip)是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。一般包括中央处理器、存储器以及外围电路等。SoC是与其它技术并行发展的,它可以提供增强的时钟频率,降低微芯片的功耗,在嵌入式系统中有广泛的应用。
对于SoC设计来说,搭好环境后,还得有相应的一套IDE开发工具,包括装有配套开发环境的PC,电路板和连接线。开发完成后应用于嵌入式领域,一般很难支持二次开发,或者支持二次开发,但是受带开发环境的PC终端、电路板、连接线等条件的约束很不方便。
发明内容
为了解决上述技术问题,本发明提供一种能方便实现二次开发、芯片利用率高的基于SoC的线智能程序加载方法,并提供一种线智能程序加载SoC系统。
本发明解决上述问题的技术方案是:一种基于SoC的无线智能程序加载方法,步骤如下:
(1)搭建SoC系统;
(2)将加载启动代码烧录至只读存储器中;
(3)将flash存储器划分成若干个程序区,并通过加载指令把不同的程序分别加载到不同的程序区;
(4)运行加载启动代码代码后,执行串行外设接口和通用异步收发传输器的初始化命令,并监测串口接收到的命令,从flash存储器中选择相应程序区实现程序到内存模块的拷贝;
(5)执行跳转命令,将处理器指向内存模块的起始位置,实现系统的自启动。
上述基于SoC的无线智能程序加载方法,所述步骤(1)中,采用硬件描述语言搭建SoC系统。
上述基于SoC的无线智能程序加载方法,所述步骤(2)的具体步骤为:
步骤A:安装OpenRISC交叉编译工具链和XilinxISE工具;
步骤B:用汇编语言设计加载启动代码;
步骤C:通过交叉编译工具链把加载启动代码从汇编语言编译成硬件描述语言,并实例化到soc系统顶层中。
上述基于SoC的无线智能程序加载方法,所述步骤(3)中,flash存储器地址从0x100000到0x1c0000区域是soc系统bit文件放置区,步骤(3)具体步骤为:
步骤D:通过交叉编译工具链将三个待烧录程序编译成三个二进制文件,并把soc系统从硬件描述语言变成bit文件;
步骤E:利用XilinxISE中的impact工具将编译好的soc系统bit文件烧录至flash存储器0x100000到0x1c0000区域,把三个二进制文件分别烧录到flash的三个不同程序区;其中,地址从0x1c0001到0x1f0000是程序区Ⅰ,地址从0x1f0001到0x220000是程序区Ⅱ,地址从0x220001到0x250000是程序区Ⅲ。
上述基于SoC的无线智能程序加载方法,所述步骤(4)具体步骤为:
步骤F:初始化串行外设接口和通用异步收发传输器,并实时监测终端发过来的命令;若监测到命令,则执行步骤G,否则继续执行步骤F;
步骤G:效验接收到的命令是否为有效命令,是则执行步骤H,否则通过通用异步收发传输器和蓝牙模块向终端发送“错误”提示,重新执行步骤F;
步骤H:根据接收到的命令选择flash存储器相应程序区的有效地址;
步骤I:初始化串行外设接口,产生串行外设接口时序和发送读命令;
步骤J:根据flash程序区的有效地址拷贝程序到内存模块中;
步骤K:比较程序大小是否等于程序大小变量sizeword的值,是则表明程序拷贝完成,否则执行步骤J。
一种无线智能程序加载SoC系统,包括SoC最小系统、蓝牙模块和终端,所述SoC最小系统包括处理器、只读存储器、总线仲裁模块、串行外设接口、内存模块、通用异步收发传输器、时钟模块,所述处理器、只读存储器、串行外设接口、内存模块、时钟模块分别与总线仲裁模块相连,终端与蓝牙模块实现无线通信,蓝牙模块经通用异步收发传输器与总线仲裁模块相连。
本发明的有益效果在于:
1、本发明基于SoC的无线智能程序加载方法中,首先将flash存储器划分成若干个程序区,并通过加载指令把不同的程序分别加载到不同的程序区,然后运行加载启动代码代码,初始化串行外设接口并监测串口接收到的命令,从flash存储器中选择相应程序区实现程序到内存模块的拷贝,最后执行跳转命令,将处理器指向内存模块的起始位置,实现系统的自启动;整个加载过程简单,不需要接线和留出程序加载接口,也不需要相应的IDE软件来加载程序,通过手机或带有蓝牙模块的终端就可以加载不同的程序,适用范围广。
2、本发明的SoC设计系统中,在原有最小系统中加入了蓝牙模块以及带蓝牙功能的终端,从而通过无线控制实现不同程序的加载,简化了芯片的二次开发,增加了芯片的利用率。
附图说明
图1为本发明的SoC设计系统的结构框图。
图2为本发明的SoC设计方法的流程图。
图3为本发明的flash存储器程序区划分结构图。
图4为本发明的SoC设计方法中程序加载的步骤流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1所示,一种无线智能程序加载SoC系统,包括SoC最小系统、蓝牙模块和终端,所述SoC最小系统包括处理器OR1200、只读存储器ROM、Wishbone总线仲裁模块、串行外设接口SPI、内存模块DDR2、通用异步收发传输器UART、时钟模块,所述处理器OR1200、只读存储器ROM、串行外设接口SPI、内存模块DDR2、时钟模块分别与Wishbone总线仲裁模块相连,终端与蓝牙模块实现无线通信,蓝牙模块经通用异步收发传输器UART与Wishbone总线仲裁模块相连。
所述终端用于通过所述蓝牙模块和所述SoC最小系统中的通用异步收发传输器UART将选择程序加载命令发送至所述SoC最小系统;以及接收显示所述SoC最小系统通过通用异步收发传输器UART传过来的提示命令;
所述SoC最小系统用于通过通用异步收发传输器UART接收所述终端发送的命令,实现从flash存储器选择不同程序区的程序加载至内存模块DDR2的功能。
所述Wishbone总线仲裁模块,运行Wishbone总线仲裁逻辑代码后,实现主设备抢占总线的轮循机制。
如图2所示,一种基于SoC的无线智能程序加载方法,步骤如下:
(1)采用硬件描述语言搭建SoC系统;
(2)将加载启动代码烧录至只读存储器ROM中。
具体步骤为:
步骤A:安装OpenRISC交叉编译工具链和EDA工具(XilinxISE);
步骤B:用汇编语言设计加载启动代码(bootloader);
步骤C:通过交叉编译工具链把加载启动代码(bootloader)从汇编语言编译成硬件描述语言(verilog),并实例化到soc系统顶层中。
(3)将flash存储器划分成三个程序区(根据自己的需要划分)。
具体步骤为:
步骤D:通过交叉编译工具链将三个待烧录程序编译成三个二进制文件,并把soc系统从硬件描述语言(verilog)变成bit文件;
步骤E:利用XilinxISE中的impact工具将编译好的soc系统bit文件烧录至flash存储器0x100000到0x1c0000区域,把三个二进制文件分别烧录到flash的三个不同程序区;如图3所示,flash存储器地址从0x100000到0x1c0000是bit文件放置区1,0x1c0001到0x1f0000是程序区Ⅰ2,地址从0x1f0001到0x220000是程序区Ⅱ3,地址从0x220001到0x250000是程序区Ⅲ4,地址从0x250001到0x300000是扩展区5。
(4)运行加载启动代码代码后,执行串行外设接口SPI和通用异步收发传输器UART的初始化命令,并监测串口接收到的命令,从flash存储器中选择相应程序区实现程序到内存模块DDR2的拷贝。
如图4所示,具体步骤为:
步骤F:初始化串行外设接口SPI和通用异步收发传输器UART,并实时监测终端发过来的命令;若监测到命令,则执行步骤G,否则继续执行步骤F;
步骤G:效验接收到的命令是否为有效命令,是则执行步骤H,否则通过通用异步收发传输器UART和蓝牙模块向终端发送“错误”提示,重新执行步骤F;
步骤H:根据接收到的命令选择flash存储器相应程序区的有效地址;
步骤I:初始化串行外设接口SPI,产生串行外设接口SPI时序和发送读命令;
步骤J:根据flash程序区的有效地址拷贝程序到内存模块DDR2中;
步骤K:比较程序大小是否等于程序大小变量sizeword的值,是则表明程序拷贝完成,否则执行步骤J。
(5)执行跳转命令,将处理器指向内存模块DDR2的起始位置,实现系统的自启动。
当程序开始从内存模块DDR2执行时,表示程序加载完成;发送不同的命令表示选择flash存储器不同的程序区中的程序加载到内存模块DDR2,也就实现了通过无线控制程序的加载,不需要下载线、预留接口和开发IDE工具就能实现程序的加载,简化程序的二次开发过程。
机译: 一种基于指针的对象获取方法,用于对计算机系统的信息进行有形处理,该方法基于一种自然语言,并且该机器人或机器人的人工智能系统对该计算机系统的接收信号作出反应,该计算机系统具有相应的关联机器人或机器人的人工智能,该机器人或机器人的人工智能计算机系统的相应思想得到证实
机译: (54)标题:一种扩展商务智能系统的形式和功能的基于内容的方法(57)摘要:商务智能(BI)系统具有通过以下方式将其功能扩展到项目生命周期之外的能力:具体内容。复杂的多维查询被解释为原子子表达式的树,这些原子子表达式组合成类似解析树的结构以形成整体查询。每个子树在提供适当的上下文时都是有效的。任何子树都可以是作为应用程序内容存储的表达模板,该表达模板在生成时使用带有实例特定参数的简单文本替换来生成多维表达语法。该系统包括一个复杂的类型系统和语义层,使用户摆脱了使用OLAP数据库所固有的复杂性。商业智能专家可以为每个作为内容的表达模板提供类型和语义提示。
机译: 将应用程序加载到智能卡中的方法,智能卡,将脚本加载到智能卡中的方法,能够与智能卡一起操作的终端设备以及保存应用程序的存储介质