在货物监控设备研发中,如何使Stm32 Boot实现程序的跳转?
Posted 瑞奇Ricky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在货物监控设备研发中,如何使Stm32 Boot实现程序的跳转?相关的知识,希望对你有一定的参考价值。
近期笔者在进行货物监控设备的研发,货物监控设备的作用非常的广泛,可以运用在一般货物追踪中,货物监控设备可以实时追踪货物的位置,管理者可以非常直观在云端后台中观看到货物的运输情况;
货物监控设备也可以运用在化学品、剧毒品等危险货物的安全监控中,可以在运输的过程中实时监测危险货物的温度、湿度、光感度等环境数据,并将数据实时传输到云端后台之中,运输中的货物环境变化参数,管理者可以一目了然。
货物监控设备还拥有报警功能。当环境参数超出正常范围,可能会出现危险时,货物监控设备会启动报警系统,通过短信或是电话的方式及时的提醒相关人员采取相应措施,保证货物运输的安全;
货物监控设备还可以运用在冷链运输的环节之中,对生鲜食品的运输环境进行监测,保证食物保质保量的运送到顾客的手中。
降低运输中可能出现的经济损失;货物监控设备还具有防盗功能,当货物在运输过程中,货物如果在没有被允许的情况下就被开箱,货物监控设备会感知到货箱内光线参数的变化,及时的发出报警。可能小偷还没有偷盗成功,就已经被发现了。
因此,货物监控设备的功能还是非常强大的,非常受顾客的欢迎。笔者在进行货物监控设备的研发工作时,会用到Stm32 Boot的程序跳转。相信很多产品研发人员都会需要做这一部工作。那么具体如何实现呢?笔者已经把代码写在下面了,一起来看看吧!
因此,货物监控设备的功能还是非常强大的,非常受顾客的欢迎。笔者在进行货物监控设备的研发工作时,会用到Stm32 Boot的程序跳转。相信很多产品研发人员都会需要做这一步工作。那么具体如何实现呢?笔者已经把代码写在下面了,一起来看看吧!
Stm32 Boot实现程序的跳转
typedef void (******************************************
函数:__asm void MSR_MSP(u32 addr)
功能:设置栈顶地址
输入:addr:栈顶地址
输出:无
函数:void iap_jump_app(u32 appaddr)
功能:跳转到应用程序段
输入:appxaddr:用户代码起始地址
输出:无
********************************************/
void iap_jump_app(u32 appaddr)
{
Iapfunc jump2app;
if((()appaddr)&0x2FFE0000)==0x20000000) //检查栈顶地址是否合法.
{
jump2app=(iapfun))(appaddr+4); //用户代码区第二个字为程序开始地址(复位地址)
MSR_MSP()appaddr); //初始化APP堆栈指针(用户代码区的第一个字用于存放栈顶地址)
jump2app(); //跳转到APP.
}
}
以上是关于在货物监控设备研发中,如何使Stm32 Boot实现程序的跳转?的主要内容,如果未能解决你的问题,请参考以下文章
在货物监控设备研发中,Boot Loader和APP程序跳转的注意事项