推荐阅读最新更新时间:2024-03-16 14:49
TMS320C6000系列二次Bootloader的设计与实现
引 言 随着DSP(数字信号处理器)系统的广泛应用,其程序规模也随之不断扩大,使用芯片本身自带的Boot-loader通过Flash存储器来引导DSP程序,往往受到程序大小和结构的制约,比如程序很大超过厂商固化boot的范围,再如中断向量表的不同位置对程序boot跳转的影响,等等,因此越来越需要更加灵活的引导方式。 系统上电后,由引导程序将DSP的应用程序从该存储器引导到DSP应用板上的高速存储器(如内部SRAM、SDRAM等)中。由于Flash存储器具有电信号删除功能,且删除速度快,集成度高,因此已成为此种存储器的首选。由于Flash存储器的存取速度较慢,写入Flash存储器的程序将在系统上电时被DSP装载到快速的存储器中运
[应用]
基于Nandflash的Bootloader的设计与实现
0 引言
Bootloader通常称为系统引导加载程序,是系统加电或复位后执行第一段代码 。一般它只在系统启动时运行非常短时间,但对于嵌入式系统来说,这是一个非常重要系统组成部分。通过这段小程序,可以初始化硬件设备、建立内存空间映射图,从而将系统软硬件环境带到一个合适状态,以便为调用操作系统内核准备好正确环境,并同时提供基本输入、输出系统监控功能和程序调试功能。 Bootloader是严重地依赖于硬件而实现。每种不同体系结构处理器都有不同Bootloader。除了依赖于处理器体系结构以外,Bootloader实际上也依赖于具体嵌入式板级设备配置,也就是说,对于两块不同嵌入式板而言,即使它们是基于同一种处理器
[嵌入式]
STM32的BootLoader升级
从串口升级固件 ①Jump_To_Application = (pFunction)(*(vu32*) (IAPSTART + 4)); __MSR_MSP(*(vu32*) IAPSTART); Jump_To_Application(); 跟踪__MSR_MSP(一般这个函数都在库文件里有,跟踪不到就用搜索找)找到汇编函数为 __MSR_MSP MSR MSP, r0 ; set Main Stack value BX r14 ②//跳转到应用程序段 //appxaddr:用户代码起始地址. void iap_load_app(u32 appxaddr) { if(((*(vu32*)appxa
[单片机]
用J-Link烧写bootloader到Mini2440的Nor Flash
1 开发环境 宿主机:Windows + VMWare + Ubuntu16.04 开发板:Mini2440 仿真器:JLink V8 2 接线与驱动 接线图如下所示: 图1 J-Link与Mini2440接线图 下载 驱动并安装,然后打开J-Link Commander,如果J-Link没有连接好,会提示: 图 2 连接J-Link失败 盗版的J-Link还会遇到下面问题: 图3 盗版J-Link提示 比较麻烦的解决方法见参考资料 ,需要重新刷J-Link的固件;简单的解决方法就是换一个低版
[单片机]
Stm8的bootloader介绍
本次应用笔记是专门为STM8的固件和系统设计者提供,他们需要实现一个内应用编程(In-application programming, IPA)特征的产品,以stm8微处理器作为研发的。Stm8是一个8位微控制器家族,并以一个flash memory 去存储用户的程序代码或者固件。(for storing the user program codeor firmware.)在为控制其被移植到最终产品上后,IAP 使得控制器可以就地更新固件。这么更新固件的有优点是微控制器能一直保持在产品里面,不用取出芯片特意给它烧录程序。更新固件的时候也不用调停机器(产品)的运行工作。(在线烧录,通过IIC,SPI,uart)。 IAP是对发布
[单片机]
stm32 bootloader启动正常,APP程序会在时钟配置出错原因分析
实验环境 STM32F411芯片 HAL库 利用CubeMX生成的Bootloader和APP工程 现象描述 将Bootloader和APP程序分别下载到板子上,Bootlader程序可以正常运行,而APP程序会死在Error_Handler()的while(1)循环中。 具体调试发现程序是在执行HAL_RCC_OscConfig()函数的PLL 配置部分检测到当前PLL已经被配置为了系统时钟而返回了HAL_ERROR的返回值导致进入了Error_Handler()。为什么bootloader程序中的时钟配置没有问题,而APP中的时钟配置就会有问题呢? 分析 网上搜索了一下,发现了一种说法:PLL在启动之后便不能够重新配置。感
[单片机]
Stm32F030用Coocox工程进行Bootloader升级时程序跑飞
最近做STM32F030C8的Bootloader升级,使用的是Coocox的工程,发现Bootloader可以正常跳转,但是到应用程序时,就直接跑飞,经过仔细查看,发现是中断向量表没有映射,但是在把中断向量表映射后,程序依旧跑飞。一直自己找了好几天,在Nick的帮助下,终于解决了,方法如下: 1、在Bootloader里设置跳转: /* Jump to user application */ JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4); Jump_To_Application = (pFunction) JumpAddress; /* Initial
[单片机]
摩托用户调查被解锁Bootloader呼声淹没
几个星期前,摩托罗拉在Facebook主页上向自己的粉丝问了一个问题:什么样的Android应用是你们希望摩托罗拉去开发的?人们最初的反应可能是期待一些典型的Android软件,比如Netflix、音乐播放器的改进或者是Motoblur功能的增强等,但是摩托罗拉忽略了一个问题,他们被用户统一的呼声给淹没了,因为摩托罗拉Android手机用户最想要的就是一个解锁的Bootloader。
这样的回答似乎有点答非所问,并不符合摩托罗拉的设想,但是支持解锁Bootloader的投票数已经超过了一万多,而支持普通应用的只有十几个人,你让摩托罗拉情何以堪?
[手机便携]