一.BootLoader的作用:BootLoader是固化在PFlash中的一个程序,其作用可以分为两部分:boot和load. (1)boot:MCU上电时首先会运行BootLoader程序(因为它一般位于PFlash最前面的启动区,接下来会谈到启动区Boot location的概念),BootLoader程序会初始化系统时钟.看门狗等以保证系统的正常运行,此外还会初始化CAN(也可以是串口.SPI等)以实现和上位机的通信. (2)load:系统初始化完成后,程序会进入等待状态,如果在预定时间…
硬件:stm32f103cbt6 软件:STM32F10x_StdPeriph_Lib_V3.5.0 文章目录 1 预备知识 2 Bootloader 2.1 启动流程 2.2 校验跳转地址是否有效 2.3 Keil工程IAP的相关设置 2.3.1 修改Flash地址 2.3.2 使用自己的链接脚本 2.3.3 下载固件 3 Application 3.1 启动流程 3.2 IAP中的引导部分 3.3 关于 VTOR 3.4 Keil工程设置 3.4.1 Flash地址设置 3.4.2 hex2…
摘要:在前面的nrf52--DFU升级OTA升级方式详解(基于SDK开发例程)一文中我测试了基于蓝牙的OTA,本文将开始基于UART和USB(USB_CDC_)进行升级测试. 整体升级流程: 整个过程希望你和我一样采用有log的bootloader进行.可以看到执行流程,也能在出错时进行检查. 1.生成秘钥(一定要保留好) 2.生成USB或者UART的BootLoader程序(需要算法库和秘钥) 3.生成APP工程 4.合成初始的固件.并下载到相应的硬件 5.生成需要更新的APP固件 6.合成升…
了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 应客户要求, 将PIC16 bootloader之UART bootloader - GeekyGeek - 博客园 (cnblogs.com)这款bootloader移植到PIC18上了,其实我早就想移植到PIC18,但是一直忙,就一直拖.现在客户有要求,找不到理由继续拖延了. bootloader 是三层架构,应用层…
在我们开始前,默认你已经安装好了一些基础工具,如nrfutil,如果你没有安装过请根据官方中文博客去安装好这些基础工具,连接如下:Nordic nRF5 SDK开发环境搭建(nRF51/nRF52芯片平台) - iini - 博客园 (cnblogs.com) 本文只是对整个升级过程进行一次完整操作,以及其中可能出错的地方进行记录,如果你想知道具体原理,那么请你看官方中文博客的两篇文章,如果仅仅只是基于SDK,那么你参考第一篇即可,如果你需要在NCS上进行请参考第二篇,相信你在看了该博客后会对D…
了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 两周前完成了基于UDS on CAN 的bootloader, 这两周一直在测试,已经通过了功能测试和压力测试,接下来还要做鲁棒性测试,感觉实在是太累了.最近两个多月的空闲时间都花在这个UDS bootloader 上面了.我其实一直不想接UDS bootloader的活,UDS bootloader 都是使用在汽车EC…
Preface 之前也发表过关于<Bootloader启动过程分析>的文章,但是内容表达得比较抽象,大多是文字叙述,所以这里从系统和代码的角度来深入分析bootloader的启动过程. 工具:Source Insight 目标:U-Boot-1.1.6 仅留此分析过程,日后再作补充(纯手打也不容易啊,嘿嘿). U-Boot工程结构 学习一个软件,尤其是开源软件,首先应该从分析软件的工程结构开始.一个好的软件有良好的工程结构,对于读者学习和理解软件的架构以及工作流程都有很好的帮助. U-Boot…
1.[CC254X_Bootloader]SBL(串口Bootloader)使用说明 2.CC2540协议栈高速串口通信解决(UART的DMA方式) 3.[BLE]CC2541之SBL 4.[BLE]CC2541之SBL修改bootloader 存放的 flash 扇区 大小 5.CC2530使用串口下载(SBL) 6.zstack -Serial Boot Loader(串口下程序) 部分代码解释 7.CC254X SBL Tool Down   官方 SBL Windows 软件下载 8.官…
了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). PIC16 bootloader是在PIC16单片机上电复位时执行的一段程序.通过这段程序,可以不使用编程器,也能实现应用程序在线升级.今天要介绍的PIC16 bootloader是使用UART通信接口的UART bootloader, 也叫RS232串口bootloader.由于电脑只有USB接口,所以需要用USB-t…
      了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). PIC18 CAN bootloader 是元旦前几个星期就完成了, 但是由于一直忙, 所以直到现在才有时间整理并介绍给大家. PIC18 CAN bootloader 和 PIC18 UART bootloader 的软件架构非常相似,都是三层架构,不同之处就是UART driver被替换成CAN driv…
了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 最近完成了S32Kxxx CAN bootloader, 之前需要拆开外壳通过烧写口才能更新应用程序.如果产品灌了胶,每更新一次应用程序都非常之麻烦.现在有了CAN bootloader, 可以通过Standard CAN 接口就能够更新产品的应用程序,简单又方便.就算产品已经出货到了客户端,更新程序也不繁琐,成本也可接…
BootLoader工作原理 BootLoader工作原理 BootLoader指系统启动后,在操作系统内核运行之前运行的一段小程序.通过BootLoader,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境.通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界.因此,在嵌入式世界里建立一个通用的 BootLoader 几乎是不可能的.尽管如此,我们仍然可以对BootLoader归纳出一些通用的…
一.实验内容 通过阅读bootmain.c,了解bootloader如何加载ELF文件.通过分析源代码和通过qemu来运行并调试bootloader&OS, bootloader如何读取硬盘扇区的? bootloader是如何加载ELF格式的OS? 二.实验相关 ELF文件格式 ELF(Executable and linking format)文件格式是Linux系统下的一种常用目标文件(object file)格式,有三种主要类型: 用于执行的可执行文件(executable file),用…
Bootloader 对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程.嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader. 6.1.1  Bootloader介绍 Bootloader是在操作系统运行之前执行的一段小程序.通过这段小程序,我们可以初始化硬件设备.建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备. 对于嵌入式系统,Bootloader是基于特定硬件平台来实现的.因此,几乎不可能为所有的嵌入式系统建立一个通用…
刷入Breed BootLoader: 因为这个K1路由器可以开启telnet服务,所以此处刷Breed可以不使用编程器刷Flash芯片的方法进行. 1.打开K1路由器的Telnet服务. 电脑通过有线的方式连接路由器(为了不必要的麻烦,这里建议用有线连接),在浏览器中输入: http://192.168.2.1/goform/Diagnosis?pingAddr=192.168.2.100|echo""|telnetd 2.在电脑上打开Telnet软件,连接路由器. Password…
没有什么事情比 bootloader 坏掉更气人的了,充分发挥 Grub 2 的作用,让 bootloader 安分工作吧.为什么这么说? Grub 2 是最受欢迎的 bootloader ,几乎用在所有 Linux 发行版上. bootloader 是一个至关重要的软件,但是非常容易损坏. Grub 2 是兼具扩展性和灵活性的一款引导加载程序,提供了大量可定制选项. Grub 2 是一款功能强大的软件,它不是 bootloader 界的唯一,但却最受欢迎,几乎所有主流的桌面发行版都在使用它.…
原文网址:http://blog.csdn.net/sadamoo/article/details/8139946 来自http://blog.ednchina.com/hhuwxf/1915416/message.aspx,感谢作者 一.Bootloader的引入 从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭 WATCHDOG.改变系统时钟.初始化存储控制器.将更多的代码复制到内存中等等.如果它能将操作系统内核(无论从本地,比如Flash:还是从远端, 比如通过网络)…
参考资料: 基于ARM 的嵌入式系统Bootloader 启动流程分析 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计) Android系统启动流程 -- bootloader 在main()之前,IAR都做了啥? STM32 IAP程序 源码 和测试代码 有详细的中文注释 基于STM32的IAP设计文档 基于IAP的STM32程序更新技术 STM32自学笔记 STM32 IAP的bootloader编程 stm32 Bootloader设…
Bootloader是系统加电后运行的第一段软件代码,主要任务就是将内核映像从硬盘读到RAM中,然后跳转到内核的入口点去运行,也即开始启动操作系统. 简单的说,Bootloader就是在操作系统运行内核之前运行的一段小程序.通过这段小程序,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的硬件环境. 每种不同的cpu体系结构都有不同的bootloader,有些bootloader也支持多种不同体系结构的cpu,比如U-B…
本文转载自:http://blog.ednchina.com/hhuwxf/1915416/message.aspx 一.Bootloader的引入 从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭 WATCHDOG.改变系统时钟.初始化存储控制器.将更多的代码复制到内存中等等.如果它能将操作系统内核(无论从本地,比如Flash:还是从远端, 比如通过网络)复制到内存中运行,就称这段程序为Bootloader. 简单地说,Bootloader就是这么一小段程序,它在系统上电…
S5PV210开发系列三 简易Bootloader的实现 象棋小子          1048272975 Bootloader是嵌入式系统上电后第一段运行的代码.对于功能简单的处理器,可能并没有Bootloader的概念,但对于应用处理器,有不同的启动方式.不同的存储设备(Nand flash.sd/mmc.DDR2.SRAM等).不同的操作系统等,往往须要一个Bootloader先初始化CPU和相关的硬件,建立内存空间映射,把内核或应用程序载入到对应的内存运行位置.最后调用内核或应用程序,释…
来自http://blog.ednchina.com/hhuwxf/1915416/message.aspx,感谢作者 一.Bootloader的引入从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭 WATCHDOG.改变系统时钟.初始化存储控制器.将更多的代码复制到内存中等等.如果它能将操作系统内核(无论从本地,比如Flash:还是从远端, 比如通过网络)复制到内存中运行,就称这段程序为Bootloader. 简单地说,Bootloader就是这么一小段程序,它在系统上电…
了解bootloader的实现,请加QQ: 1273623966(验证填bootloader); 欢迎咨询或定制bootloader; 我的博客主页 www.cnblogs.com/geekygeek 今年国庆, 东莞,深圳,都是出城就堵,为了不给道路添堵,我就把自己堵在家里,认真地完成了4个USB bootloader, 2个PIC32MZ USB bootloader, 2个PIC24 USB bootloader.上一篇博文介绍的PIC32MZ HID bootloader是其中之一,这次…
练习四:分析bootloader加载ELF格式的OS的过程. 1.题目要求 通过阅读bootmain.c,了解bootloader如何加载ELF文件.通过分析源代码和通过qemu来运行并调试bootloader&OS, bootloader如何读取硬盘扇区的? bootloader是如何加载ELF格式的OS? 提示:可阅读"硬盘访问概述","ELF执行文件格式概述"这两小节. 2.整个流程 假定进入了保护模式之后,bootloader需要能够加载ELF文件.…
开发板 jz2440 下载uboot.bin tftp 0x30000000 u-boot.bin nand erase bootloader nand write bootloader 下载内核 tftp 0x30000000 uImage nand erase kernel nand write.jffs2 0x30000000 kernel 下载文件系统 tftpboot fsroot.yaffs2 nand erase root nand write.yaffs 0x30000000 r…
转自:http://www.veryarm.com/1491.html ARM Linux启动流程大致为:bootloader ---->kernel---->root filesystem.bootloader 是一上电就拿到cpu 的控制权的,而bootloader实现了硬件的初始化.bootloader俨然就成了Power on 之后”第一个吃螃蟹”的代码. 谈到这就得想到硬件机制是如何满足这个功能的了.CPU内部一般都集成小容量的SRAM (又叫stapping stone,垫脚石),…
嵌入式系统搭建过程中,对于系统平台搭建project师最初的一步一般是移植Bootloader ,当然移植有几个级别,通常最常见的是參考的EVM 的硬件有了改动(如更改了FLASH ,更改了SDRAM .DDR SDRAM 等).而且是初次调试硬件.更大的困难是公司为节省成本不打算买上万的EVM 开发板,或者EVM 开发板须要license 才干购买,这时移植Bootloader 是比較难做的,只是也不是没有方法,最有效的有两个--点灯和串口打印 .(作者通过这样的方法调试成功过IXP2400(…
PIC32MZ 的 flash memory 支持live update, 这是个全新的特性,在之前的所有PIC不管是8位还是16位的单片机上面都没有这个特性.我写过很多PIC 8位和16位单片机的bootloader,但这些bootloader都是传统的bootloader.传统的bootloader在更新程序时,需要先进入BOOTLOADER模式,BOOTLOADER模式完全独立于用户程序,只做更新应用程序的活. 今天要介绍的我最新完成的live update bootloader, 它是用…
Building bootloader and kernel Bootloader Startwith building the bootloader. To learn more about the bootloader process or toclarify details, lookin here Usethe link above for commands on how to build u-boot and MLO. Use the parametersprovided below…
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 :  -- u-boot 源码 : http://download.csdn.net/detail/han1202012/8342761 -- S3C2440 文档 : http://download.csdn.net/detail/han1202012/8342701 -- S5PV210_iROM_Applicati…