如何通过Keil将程序正确的下载进flash中
前面介绍了一些创建工程和调试的基本步骤,在这里准备介绍一下如何正确的将Keil程序在仿真调试中下载到flash。这里再次涉及到了debug的窗口。

工具/原料
- Keil uVision 4/5
- Ulink2仿真器
方法/步骤
请注意图中标注部分,左上方的Download Function是告诉下载程序算法需要做的事情。通常情况下选择图示三个即可。擦除,下载和效验。

关键的是如何知道RAM for Algorithm的起始地址和size。首先看你前面选择的MCU,这是你调试的基础,打开其datasheet,以STM32F0X系列为例,如图示部分,SRAM的地址和大小清晰可见。为什么和SRAM有关呢?因为Keil首先通过SW接口协议将程序下载到SRAM中然后才会调用FLASH算法将程序烧录。

接下来就需要找到属于该芯片的flash算法了,请看下图中的蓝色标注部分,那个算法如何得来的呢?请点击ADD按钮,将会弹出一个对话框。

请下拉滚动条,你将会看到很多的算法,找到属于你的算法。

如何才能知道哪个算法属于你呢?同样取决于你选择的芯片,譬如STM32F0X系列,你找到后同样需要了解你所选芯片flash的大小,譬如32K。选择好后如图示。然后点击ADD,则添加到算法框中。

- 6
到此你选中了你想要的算法及配置,但是如果对话框中没有你要的算法呢?譬如你选用的芯片是ARM的核但却不是里面的任何一个品牌?如果感兴趣请看我下一篇的介绍
如何通过Keil将程序正确的下载进flash中的更多相关文章
- android程序---->android多线程下载(二)
上篇我们讲到了android中下载的断点续传问题,今天我们开始学习下载的多线程问题.本次的多线程源码下载:androdi中多线程下载的实现代码.有关断点续传的问题,请参见博客:android程序--- ...
- TMS320F28335——下载程序到flash中
一.让CCS软件支持Flash烧写 添加F28335.cmd文件 如图屏蔽掉25335_RAM_lnk.cmd 2.支持从Flash中拷贝文件到RAM中 添加DSP2832x_MemCopy.c 在主 ...
- keil将程序装入外部FLASH具体解释
在实际项目中,常常出现芯片的内部FLASH空间不够的情况,这就须要将程序分一部分装到外部FLASH中. 为了让大家能少走些弯路,在这里把我在这当中遇到的一些问题和经验教训给大家分享一下. 仅供參考,假 ...
- 【做中学】第一个 Go 语言程序:漫画下载器
原文地址: 第一个 Go 语言程序:漫画下载器: https://schaepher.github.io/2020/04/11/golang-first-comic-downloader 之前学了点 ...
- android程序---->android多线程下载(一)
多线程下载是加快下载速度的一种方式,通过开启多个线程去执行一个任务,可以使任务的执行速度变快.多线程的任务下载时常都会使用得到断点续传下载,就是我们在一次下载未结束时退出下载,第二次下载时会接着第一次 ...
- 正确处理下载文件时HTTP头的编码问题(Content-Disposition)
留坑 参考: 正确处理下载文件时HTTP头的编码问题(Content-Disposition) HTTP协议header中Content-Disposition中文文件名乱码 文件下载,content ...
- KEIL C51程序中如何嵌入汇编
模块内接口:使用如下标志符:#pragma asm汇编语句#pragma endasm注意:如果在c51程序中使用了汇编语言,注意在Keil编译器中需要激活Properties中的“Generate ...
- 微信小程序开发工具下载以及安装教程
微信公众平台上登录你的微信小程序账号 登录进入小程序开发-工具-下载,再根据你的系统选择相对应的版本地址进行下载. 以管理员身份运行下载,点击下一步,如图所示: 下一步,就会出现许可证协议 ...
- 012_STM32程序移植之_内部flash开机次数管理lib库建立
012_STM32程序移植之_内部flash开机次数管理lib库建立 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH ...
随机推荐
- 关于python 中的 sys.argv 的使用方法
sys.argv是获取在cmd运行python文件的时候输入的命令行参数,呈现的数据结构是列表的格式 1.用pacharm时运行时的结果是: 输出结果: 2.当我在cmd中输入指令 debu ...
- JS 利用正则表达式替换字符串
JS 利用正则表达式替换字符串 博客分类: JavaScript 学习资料 Java代码 收藏代码 JS 利用正则表达式替换字符串 var data = "123123,213,12312, ...
- ajax请求数据动态渲染表格
$.ajax({ url: "/flow/userTaskFileShow.cc", data: {"processDefinitionId": pdid, & ...
- [转] C#与Java的比较
[转] C#与Java的比较 转自:C#与Java的比较 2015-06-26 目录 一.C#.C++和Java二.语言规范的比较 2.1.简单数据类型 2.2.常量 2.3.公用类的入口点 ...
- linux命令之fuser
Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME... [ - ] [ -n SPACE ] [ -SIGN ...
- 利用eclipse的search功能搜索当前项目的源文件
当你项目的源文件太多,文件组织结构太复杂的的时候,有时候希望google来帮你一把?给个关键字就把相关的搜索结果给出来? eclipse的search功能基本上就可以完成这个任务,文件搜索,甚至JAV ...
- SNP密度分布模式
1. window=100k,step=2k 统计每个window的snp密度,然后用mixtools的normalmixEM(两个组分的混合模型)统计snp的分布模式. R command: lib ...
- ansible ansible_os_family == "RedHat" and ansible_lsb.major_release|int >= 6 转为数字比大小
字符串转换为数字型再去比较 tasks: - shell: echo "only on Red Hat 6, derivatives, and later" when: ansib ...
- 关于Unity中调试C#的方法
1.断点输出语句 在感觉有问题的地方的上下文写一些输出语句,如果控制台只有输出上文,没有输出下文,那么可以知道,上下文之间的语句有问题,因为下文没执行到,没有输出语句. Debug.Log(" ...
- VBS 处理断开excel数据链接格式,只保留值
最近有个项目是将一个excel压缩之后发给客户,但是由于excel数据过大,即使压缩之后仍然接近5M,因为是大批量发送数据,所以非常慢.急需要将EXCEL数据压缩. 后来我想到一个办法,就excel数 ...