对Flash 赋值操作问题,非flash操作

[复制链接]
872|4
 楼主| 你蛋蛋的忧伤 发表于 2016-5-19 11:19 | 显示全部楼层 |阅读模式
在看TI bootloader的时候发现
# pragma location="RAM_PASSWORD"   
与  
extern        uint16_t     _App_Start; // Address of Application start

两个都可以对flash对应地址内的内容进行赋值操作,
其中在flash内对应的地址如下(.xcl 文件内flash划分)
// RAM Start Address:
-D_RAM_START=200
// Address of RAM Password (2B)
-D_RAM_PASSWORD_ADDR=_RAM_START

// Flash Start Address:
-D_FLASH_START=C000
// Application Start address (after checksum)
-D_App_Start=(_FLASH_START+3)


想请教一下这两种方法与 int或者char定义 定义一个变量进行赋值操作有什么区别?
如果可以跟变量一样对其所对应地址进行赋值操作的话,与通过flash操作写flash什么区别呢?
flash可以不通过flash读写操作读写赋值?
dirtwillfly 发表于 2016-5-19 14:26 | 显示全部楼层
这种可以直接对指定地址的flash进行写操作,一般只在bootloader中使用
dirtwillfly 发表于 2016-5-19 14:26 | 显示全部楼层
定义一个变量,然后赋值,一般是存储在ram区,flash是rom区
 楼主| 你蛋蛋的忧伤 发表于 2016-5-20 16:04 | 显示全部楼层
dirtwillfly 发表于 2016-5-19 14:26
定义一个变量,然后赋值,一般是存储在ram区,flash是rom区

像密码这个应该是bootloader跟app都可以操作吧?
dirtwillfly 发表于 2016-5-20 16:50 | 显示全部楼层
你蛋蛋的忧伤 发表于 2016-5-20 16:04
像密码这个应该是bootloader跟app都可以操作吧?

在应用程序里一般只是读操作

评分

参与人数 1威望 +1 收起 理由
你蛋蛋的忧伤 + 1 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部