微信公众号的h5网站开发,商丘网上房地产查询系统,订阅号怎么开通小程序,中山市区做网站公司一、前言 keil下载程序具体过程将由一系列的博客组成#xff0c;将深入探讨keil这种IDE下载镜像文件时具体做了哪些事情。我们平常下载镜像的时候#xff0c;只是点击了一下Download按钮#xff0c;剩下的都由keil替代我们完成了。本系列博客将揭示这一过程#xff0c;keil…一、前言 keil下载程序具体过程将由一系列的博客组成将深入探讨keil这种IDE下载镜像文件时具体做了哪些事情。我们平常下载镜像的时候只是点击了一下Download按钮剩下的都由keil替代我们完成了。本系列博客将揭示这一过程keil到底做了哪些工作以及牵扯到的具体技术。
二、keil下载程序的配置过程 在我们新建一份工程写完hello world程序之后会去配置一下下载器、选择下载接口以及下载算法文件如下图所示。 按照上述五个步骤配置好下载器之后博主使用的是jlink、swd接口就可以点击Dolwnload下载程序了。 下载程序的log如下。 Load C:\\...\\project\\MDK-ARM\\Objects\\Project.axf Set JLink Project File to C:\...\project\MDK-ARM\JLinkSettings.ini * JLink Info: Device CORTEX-M4 selected. JLink info: ------------ DLL: V7.22b, compiled Jun 17 2021 17:22:49 Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04 Hardware: V7.00 S/N : 20090937 Feature(s) : RDI,FlashDL,FlashBP,JFlash,GDBFull * JLink Info: Found SW-DP with ID 0x2BA01477 * JLink Info: DPv0 detected * JLink Info: Scanning AP map to find all available APs * JLink Info: AP[1]: Stopped AP scan as end of AP map has been reached * JLink Info: AP[0]: AHB-AP (IDR: 0x24770011) * JLink Info: Iterating through AP map to find AHB-AP to use * JLink Info: AP[0]: Core found * JLink Info: AP[0]: AHB-AP ROM base: 0xE00FF000 * JLink Info: CPUID register: 0x410FC241. Implementer code: 0x41 (ARM) * JLink Info: Found Cortex-M4 r0p1, Little endian. * JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots * JLink Info: CoreSight components: * JLink Info: ROMTbl[0] E00FF000 * JLink Info: ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7 * JLink Info: ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT * JLink Info: ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB * JLink Info: ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM * JLink Info: ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU ROMTableAddr 0xE00FF000 * JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET. * JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ. Target info: ------------ Device: ARMCM4_FP VTarget 3.300V State of Pins: TCK: 0, TDI: 0, TDO: 1, TMS: 0, TRES: 1, TRST: 1 Hardware-Breakpoints: 6 Software-Breakpoints: 8192 Watchpoints: 4 JTAG speed: 4000 kHz Erase Done. Programming Done. Verify OK. * JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET. * JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ. Application running ... Flash Load finished at 17:51:38 之后boot启动方式设置为从内部flash启动后面会谈到为什么需要boot启动以及它的工作机制程序就可以运行了。
三、数据传输链路 这里先整体介绍下程序hex文件到flash的数据传输链路具体的到后面在介绍。 keilPC将hex发送到jlink通过SWD线传到芯片上的SWD接口。在芯片的内部有AHB、APB图中未画出总线矩阵AHB-DP就是挂载到总线上面。AHB-DP一头通过连接DAP总线连接到SW-DP接口一边连接AHB总线内部flash就是挂载到AHB总线上。 在后面章节中会详细的介绍数据的物理层有哪些部分组成以及具体该如何传输镜像文件到内部的flash中。