title: MDK填充FLASH为0xFF

date: 2019/1/3 20:34:05

MDK填充FLASH为0xFF

参考

area 指定地址 https://blog.csdn.net/zyboy2000/article/details/6752170?utm_source=blogxgwz1

分散文件 http://www.keil.com/support/docs/3407.htm

汇编伪指令 https://blog.csdn.net/tinylaker/article/details/50673375

使用分散文件

  1. Add the following linker switch to Project -> Options for target -> Linker -> Misc Controls:

    这里可以用hex形式表示

    --pad=VALUE   ;0xFF
  2. 更改加载文件,这个文件一般在输出目录下,后缀名为sct,取消默认的勾,启用这个加载文件并更改,添加一行,(END_ADR - START_ADR) 也就是FLASH大小

    END_OF_BLOCK (END_ADR - START_ADR) FIXED EMPTY 0x0 {}
  3. 例子如下

    ; *************************************************************
    ; *** Scatter-Loading Description File generated by uVision ***
    ; ************************************************************* LR_IROM1 0x00000000 0x00020000 { ; load region size_region
    ER_IROM1 0x00000000 0x00020000 { ; load address = execution address
    *.o (RESET, +First)
    *(InRoot$$Sections)
    .ANY (+RO)
    }
    RW_IRAM1 0x20000000 UNINIT 0x00002000 { ; RW data
    .ANY (+RW +ZI)
    }
    END_OF_BLOCK 0x00020000 FIXED EMPTY 0x0 {} ;添加这一行,0x00020000就是FLASH大小
    }

使用汇编文件

	AREA    |.ARM.__at_0x0|, CODE, READONLY
GBLA count ; declare local variable
count SETA 1 ; you are not restricted to
WHILE count <= 0 ; such simple conditions
count SETA count+1 ; In this case,
DCB 0xFF
WEND

51汇编填充

OVL.ASM 文件内容如下:
START_ADDR EQU 22C0H //空 ROM 区的起始地址
CODE_NUM EQU 7488 //所填代码的个数
CSEG AT START_ADDR
REPT CODE_NUM
DB 0A5H
ENDM
END //指定地址
CSEG AT 0000H
ORG 0000H

51 C填充

  1. 新建C文件,比如BANK1.C,添加数组定义在CODE区, 比如10个字节的A5

    unsigned char code abc[]={0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,};
  2. 在 User Segments 中填入此数组所在的 C 文件定义在所要指定地址的 CODE 区域中,这里写入10个字节的A5CODE区的BANK2的起始地址为0xEF00的区域)

MDK填充FLASH为0xFF的更多相关文章

  1. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.4)- 串行NOR Flash下载算法(Keil MDK工具篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是Keil MDK工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash ...

  2. 使用Open Flash Chart(OFC)制作图表(Struts2处理)

    Java开源项目中制作图表比较出色的就是JFreeChart了,相信大家都听说过,它不仅可以做出非常漂亮的柱状图,饼状图,折线图基本图形之外,还能制作甘特图,仪表盘等图表.在Web应用中可以为项目增色 ...

  3. 映像文件工具srec

    目录 映像文件工具srec 介绍与帮助 常用例子 常用选项 一个实际的例子 hex转bin 数据填充 文件合并 文件分割 加入CRC 查看信息 使用命令集合的文本 详细文件格式的描述 附录:MDK的例 ...

  4. JPEG文件结构

    JPEG文件由八个部分组成,每个部分的标记字节为两个,首字节固定为:0xFF,当然,准许在其前面再填充多个0xFF,以最后一个为准.下面为各部分的名称和第二个标记字节的数值,用ultraedit的16 ...

  5. JPEG文件格式介绍

    JPEG文件的存储格式有很多种,但最常用的是JFIF格式,即JPEG File Interchange Format.JPEG文件大体可以分为两个部分: (1)标记码:由两个字节构成,其中,前一个字节 ...

  6. AVR之BOOTLOADER技术详解(转)

    源:http://blog.csdn.net/zhenhua10/article/details/6442412 ATmega128具备引导加载支持的用户程序自编程功能(In-System Progr ...

  7. JPEG

    JPEG文件由八个部分组成,每个部分的标记字节为两个,首字节固定为:0xFF,当然,准许在其前面再填充多个0xFF,以最后一个为准.下面为各部分的名称和第二个标记字节的数值,用ultraedit的16 ...

  8. arduino远程刷新(烧录)固件

    在车间部署了十几个网络版的温湿度采集器(基于arduino的),这些采集器分布在不同的地方,现在要更新一下上面的固件.最笨的方法是一个一个地取下来,插到电脑的USB接口上进行固件更新,这样做显然很麻烦 ...

  9. 理解S12(X)架构中的地址映射方案

    目录 1. 介绍 2. CPU 本地地址 3. 分页窗口 4. 内存页 5. 控制各个对象在内存中放置的位置 介绍 在一个S12或S12X架构中,很有必要分清楚两种类型的内存地址:banked和non ...

随机推荐

  1. 关于C#传给视图的字符串带有Html转义字符的处理

    public class PageBarHelper//分页类 { public static string GetPageBar(string requestHref,int totalCount, ...

  2. c/c++ 多线程 detach的困惑

    多线程 detach的困惑 求大神解答: 1,当在一个函数里启动一个线程后,并detach了 2,detach的线程里使用了这个函数里new出来的一个对象 3,detach后,delete了这个对象 ...

  3. swift修改UITextfield的Placeholder字体大小和颜色

    第一种方法: self.userNumber.setValue(UIColor.lightGray, forKey: "_placeholderLabel.textColor") ...

  4. SQLServer之索引简介

    索引设计基础知识 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度. 索引包含由表或视图中的一列或多列生成的键. 这些键存储在一个结构(B 树)中,使 SQL Server 可以快速 ...

  5. 面向对象_del

    老师的博客http://www.cnblogs.com/Eva-J/articles/7351812.html#_label7 内置的方法有很多不一定全都在object中 #python3中,所有类都 ...

  6. bsp 总结正规流程

    1. do boot 之类下载boot的都是将 uboot.bin里的内容下载到flash 0x0位置 => nand dump 0x0Page 00000000 dump: 14 00 00 ...

  7. Vue父组件向子组件传递一个动态的值,子组件如何保持实时更新实时更新?

    原文:https://blog.csdn.net/zhouweixue_vivi/article/details/78550738 2017年11月16日 14:22:50 zhouweixue_vi ...

  8. JetBrains 全套激活 Pycharm Clion 高校学生老师免费用

    https://www.jetbrains.com/store/?fromMenu#edition=discounts https://www.jetbrains.com/zh/student/ 用高 ...

  9. day 17-18 常用模块

    time:时间 '''时间戳(timestamp):time.time()延迟线程的运行:time.sleep(secs)(指定时间戳下的)当前时区时间:time.localtime([secs])( ...

  10. Cesium如何通过addImageryProvider方法加载SkylineGlobe Server发布的WMS服务

    某某某单位用SkylineGlobeServer7版本发布了好些服务,然后让我们在Cesium里都加载进来展示. 其实只要符合OGC标准的,加进来还是很容易的. 示例代码如下: function te ...