日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CC2530存储空间——Code

發(fā)布時間:2023/12/20 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CC2530存储空间——Code 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

硬件平臺:CC2530-F256

開發(fā)環(huán)境:IAR 8051(版本號 8.10

參考:

1、《CC2530 User's Guide.pdf》(swru191c

2、《IAR C/C++ Compiler Reference Guide.pdf

3、《IAR Linker and Library Tools.pdf

?

一、CC2530代碼空間介紹

?

? ? ? CC2530-F256有著256KFlash,其代碼存儲空間如圖2-2(來自CC2530User‘s Guide)所看到的,可是51單片機僅僅支持64K的訪問空間。

? ? ? ?于是CC2530便採用Bank映射的方式,地址空間0x0000-0x7FFF,作為ROOT,用于存放啟動代碼等,地址空間0x8000-0xFFFF用于映射不同的Bank0~7),如圖4(來自IARC/C++ Compiler Reference Guide)所看到的,須要訪問某個Bank的數(shù)據(jù)或代碼時,將該Bank映射到地址空間0x8000-0xFFFF


? ? ? ? 映射不同Bank時,需使用FMAP寄存器。

注:

CC2530 ROM的不同地址:

物理地址:0x00000~0x3FFFF

Bank地址

Bank0:0x00000~0x07FFF

Bank1:0x18000~0x1FFFF

Bank2:0x28000~0x2FFFF

Bank3:0x38000~0x3FFFF

Bank4:0x48000~0x4FFFF

Bank5:0x58000~0x5FFFF

Bank6:0x68000~0x6FFFF

Bank7:0x78000~0x7FFFF

?

二、CC2530存儲空間使用

?

? ? ? ? IARCC2530的有兩種代碼模式,NearBanked。當中Banked模式是ZStack使用的模式,ZStackROM使用大約在100KB。當中Near是普通的51單片機模式,僅僅支持64KB的訪問范圍。

? ? ? ? 在文件夾8051\src\lib中有一個iar_banked_code_support.s51文件用于程序執(zhí)行時自己主動切換Bank


? ? ? ? 測試代碼例如以下:

__code const char code0_buf[10000]@0x48000 = {0, 1};#pragma location="BANK4" void demo1_code() {TRACE("FMAP: %02x\r\n", FMAP);TRACE("%02x %02x\r\n", code0_buf[0], code0_buf[1]); }__code const char code1_buf[10000]@0x58000 = {2, 3};#pragma location="BANK5" void demo2_code() {TRACE("FMAP: %02x\r\n", FMAP);TRACE("%02x %02x\r\n", code1_buf[0], code1_buf[1]); }

? ? ? ? 當中BANK5BANK4是連接配置文件”lnk51ew_CC2530F256_banked.xcl“定義的segment。執(zhí)行結(jié)果例如以下:



? ? ? ? 串口打印的調(diào)試信息例如以下:




總結(jié)

以上是生活随笔為你收集整理的CC2530存储空间——Code的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。