日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

通過 IAP,用戶可以使用片內(nèi)Flash 作為非易失性數(shù)據(jù)存儲器,存儲一些設(shè)備的配置信息。這樣不僅可以節(jié)約成本,而且還可以減小線路板的面積。


利用IAP 將Flash 作為數(shù)據(jù)存儲器時,用戶需要控制自身代碼量的大小及代碼定位。絕對不能夠出現(xiàn)Flash 數(shù)據(jù)區(qū)和Flash 代碼區(qū)重疊的現(xiàn)象。因為在利用IAP 向片內(nèi)Flash 存儲器寫入數(shù)據(jù)時,需要對數(shù)據(jù)扇區(qū)進行擦除。如果數(shù)據(jù)區(qū)和代碼區(qū)重合,就有可能會破壞系統(tǒng)的代碼空間,造成系統(tǒng)死機或崩潰。


一、編程片內(nèi)Flash 的步驟


使用 IAP 函數(shù)對片內(nèi)Flash 執(zhí)行編程操作時,需要按以下步驟進行操作。



(1)確定參數(shù)


在使用 IAP 代碼之前,需要定義一些常量,如系統(tǒng)時鐘、IAP 函數(shù)入口、IAP 入口緩沖區(qū)和出口緩沖區(qū)等。


(2)選擇扇區(qū)


對某一個扇區(qū)執(zhí)行擦除、寫入等操作之前,必須先選擇該扇區(qū)。但也可以一次選擇多個扇區(qū)。


(3)擦除扇區(qū)


同其它的 Flash 芯片一樣,LPC2300 的片內(nèi)Flash 在寫入數(shù)據(jù)前也需要執(zhí)行擦除操作。


不過這一步是可選的。如果目標(biāo)區(qū)域已經(jīng)被擦除了,那么就不必重復(fù)擦除,直接寫入數(shù)據(jù)即可。擦除操作一次可以擦除多個扇區(qū)。


(4)編程Flash


以上幾步執(zhí)行完畢后,就可以編程Flash 了。執(zhí)行編程扇區(qū)的操作時,IAP 函數(shù)會將RAM中的數(shù)據(jù)拷貝到Flash 中,此時有幾個限制:


1.Flash 的目標(biāo)地址必須是256 字節(jié)對齊,即目標(biāo)地址[7:0]為0,如下圖所示;


2.RAM 數(shù)據(jù)區(qū)的源地址必須字對齊,即起始地址[1:0]為0,如下圖所示;


3.源數(shù)據(jù)區(qū)必須是局部總線上的 SRAM,不能使用通用USB SRAM 和以太網(wǎng)SRAM;


4.一次寫入的字節(jié)數(shù)固定:256、512、1024 或者4096。



(5)校驗數(shù)據(jù)


IAP 代碼還為用戶提供了一個數(shù)據(jù)校驗的手段,這樣用戶就可以不必自己動手來校驗寫入Flash 中的數(shù)據(jù)是否正確。用戶需要提供目標(biāo)地址、源地址和比較字節(jié)的個數(shù)。注意:源地址、目的地址和比較字節(jié)的個數(shù)都必須是字對齊。


二、程序主體


在這個程序中,我們向扇區(qū)7 寫入512 個字節(jié)的數(shù)據(jù)。


                           主程序代碼


#define DestAddr 0x00007000 // 扇區(qū)7 的起始地址

/******************************************************************************************

** 函數(shù)名稱:main

** 函數(shù)功能:數(shù)據(jù)存儲解決方案。

******************************************************************************************/

int main (void)

{

__align(4) uint8 SendData[512]; // 定義變量區(qū)

uint32 i;

for(i = 0; i < 512; i++) // 初始化變量區(qū)數(shù)據(jù)

{

SendData[i] = i;

}

SelSector(7, 7); // 選擇扇區(qū)

EraseSector(7,7); // 擦除扇區(qū)

SelSector(7, 7); // 選擇扇區(qū)

RamToFlash(DestAddr, (uint32)SendData, 512); // 寫數(shù)據(jù)到FLASH

while(1);

return 0;

}


三、IAP讀操作


很多資料只有寫,沒有讀操作。寫Flash必須用IAP命令,從Flash中讀取數(shù)據(jù)不需要使用IAP命令,直接通過指針讀Flash絕對地址里的數(shù)據(jù)即可。


volatile const unsigned char *pucdata;

unsigned char ucData = 0;

pucdata = (volatile unsigned int *) 0x00000254;

ucData = * pucdata;


通過以上語句即可將0x00000254地址的數(shù)據(jù)讀取到變量ucData中。



關(guān)鍵字:LPC2378  IAP  讀寫編程 引用地址:LPC2378的IAP讀寫編程

上一篇:lpc54618通過flashmagic工具以isp方式下載程序出現(xiàn)的問題總結(jié)
下一篇:LPC812MO 我的學(xué)習(xí)歷程

推薦閱讀

在2018中國移動全球合作伙伴大會上,英特爾宣布與中國移動正式簽署戰(zhàn)略合作協(xié)議,在數(shù)據(jù)中心與云計算、網(wǎng)絡(luò)功能虛擬化(NFV)/云化、5G及車聯(lián)網(wǎng)、人工智能四大創(chuàng)新前沿領(lǐng)域展開深度合作,聯(lián)合中國移動共同發(fā)布了一款基于Intel? Movidius? 視頻處理單元(VPU)、前端一體化方案的人臉識別智能終端,并秀出一系列最新5G、AI技術(shù)及解決方案。此外,多位發(fā)言...
2019年4月11日,蔚來汽車對外正式發(fā)布70kWh到84kWh續(xù)航升級方案。也就是說,根據(jù)不同場景和需求選擇,用戶可以通過靈活升級和永久升級兩種方式來提升自己汽車的續(xù)航能力。靈活升級服務(wù),支持按天付費升級,費用為66元/天。創(chuàng)始版用戶及2019年3月31日(含)前提車或大定的ES8首任車主享受6折優(yōu)惠,費用為39元/天。永久升級服務(wù)適用于創(chuàng)始版用戶及2019年3月3...
自1993年開業(yè)以來,玻璃制品模具制造商歐米茄公司一直致力于玻璃瓶及模具相關(guān)的加工和維修服務(wù)。為了進一步的減少生產(chǎn)周期和成本,歐米茄公司采用Primescan掃描儀和EDGECAM智能編程解決方案來改進和提升加工工藝。 玻璃瓶及模具的修復(fù)和重建往往需要復(fù)雜的藝術(shù)知識及設(shè)計技巧,歐米茄公司在近三十年的發(fā)展中不僅見證了玻璃制造工業(yè)的發(fā)展壯大,并逐漸發(fā)展...
12月9日消息,據(jù)xiaomiui.net報道,小米MIX FOLD 2現(xiàn)身IMEI數(shù)據(jù)庫,其型號為22061218C,代號L18。這將是小米旗下第二款折疊屏手機,預(yù)計會在2022年上半年登場?! 「鶕?jù)此前爆料的信息,小米MIX FOLD 2最大的升級點之一是屏幕,這次小米MIX FOLD 2的內(nèi)屏、外屏都將支持高刷新率?! ”娝苤?,小米MIX FOLD僅外屏是90Hz高刷新率(屏幕尺...

史海拾趣

小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章
更多每日新聞

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved