LZ今天通过官方的通用FLASH驱动([url=https://www.freescale.co
m/search?q=c90tfs_flash_driver&client=search_all_results&site=fsl_zhHans&proxystylesheet=search_style_fe&sort=date%3AD%3AL%3Ad1&oe=UTF-8&ie=UTF-8&ud=1&output=xml_no_dtd&exclude_apps=1&callback=ss_show&lang_cd=zh-Hans&filter=0&getfields=*&baseUrl=http%3A%2F%2Fwww.freescale.com%2Fwebapp&SEARCH_OPERATOR=Contains&attempt=-1&rc=1&hl=en&dnavs=]c90tfs_flash_driver搜索结果[/url])来对Flash进行读写,开启EEPROM功能等操作。在看K60FX的参考手册的FTFE章节时,
对于 30.3.2 Program flash 0 IFR map和30.3.3 Data flash 0 IFR map两个寄存器的地址有些困惑。
图一 Data flash 0 IFR map
图二 Program flash 0 IFR map
图三 系统地址分配
图四 中断向量号存储地址
1.图一和图二可知:(红色举行框可知)这两个此存器分别存在Flash、和FlexNVM中。(椭圆框可知)地址范围都为0x000-0x3FF。而从图三的中的内存分配可知K60的Flash地址和FlexNVM的地址分别为0x0000_0000–0x07FF_FFFF,0x1000_0000–0x13FF_FFFF。且而从图四可知flash的前1K是存储中断向量号的。因此疑惑的就是Program flash 0 IFR map和 30.3.3 Data flash 0 IFR map的地址到底是flash和FlexNVM的具体神马位置。
2.由图五可知,,Program flash 0 IFR和Data flash 0 IFR不能直接访问,而是要通过FTFE模块的Read Resource Command命令来访问,由图六和图七可知且访问时传递的地址分别是0x000000U与0x800000U。所以就更急疑惑这两个寄存器的位置了。
图五 Read Resource Command
图六
图七
|