當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 最近在做飛思卡爾16位單片機(jī)的在線升級(jí)bootloader程序。有2個(gè)問(wèn)題不太清楚,請(qǐng)教下論壇里的高人。1.bootloader程序中,對(duì)存放應(yīng)用程序的flash空間進(jìn)行擦除和寫入新的應(yīng)用程序以完成升級(jí)。比較特別的是,

最近在做飛思卡爾16位單片機(jī)的在線升級(jí)bootloader程序。有2個(gè)問(wèn)題不太清楚,請(qǐng)教下論壇里的高人。

1.bootloader程序中,對(duì)存放應(yīng)用程序的flash空間進(jìn)行擦除和寫入新的應(yīng)用程序以完成升級(jí)。比較特別的是,需要將flash操作代碼拷貝到ram中執(zhí)行,這是為什么?bootloader程序所在flash空間設(shè)置為被保護(hù)狀態(tài),不會(huì)誤擦除,而且運(yùn)行到哪個(gè)函數(shù)自然會(huì)把函數(shù)壓棧到RAM里執(zhí)行吧?為什么還要特地拷貝到RAM里呢?

2.單片機(jī)上電初始化后,RAM存儲(chǔ)初始化全局變量,這些全局變量是從調(diào)試器燒進(jìn)去的S19文件中獲取的嗎?每次程序都是從bootloader的main函數(shù)開(kāi)始執(zhí)行,確定不是升級(jí)狀態(tài)后跳轉(zhuǎn)到應(yīng)用程序重映射的reset中斷向量地址(flash地址)執(zhí)行。bootloader和應(yīng)用程序中有些全局變量分配的ram重合了,有什么影響嗎?會(huì)在跳轉(zhuǎn)后重新初始化RAM嗎?

解答如下:
(1)Flash操作的那部分,也就是Flash的讀寫驅(qū)動(dòng)程序是必須放到RAM中執(zhí)行,原因是當(dāng)進(jìn)行Flash擦寫時(shí),F(xiàn)lash中的程序就不可以被執(zhí)行了,這是硬件的限制。這是Freescale單片機(jī)的情況,我不清楚其它單片機(jī)會(huì)不會(huì)有這個(gè)限制。
你說(shuō)的“運(yùn)行到哪個(gè)函數(shù)自然會(huì)把函數(shù)壓棧到RAM里執(zhí)行吧”,不可能把函數(shù)壓到堆棧里面的,只是在函數(shù)調(diào)用和函數(shù)被中斷打斷,一些寄存器和一些局部變量等會(huì)被壓倒堆棧里面。默認(rèn)情況下,16位freescale單片機(jī)在prm中配置的堆棧大小是0x100字節(jié),很多函數(shù)都要比它大。評(píng)論:程序不可能在堆棧中運(yùn)行,要運(yùn)行也只能在RAM中或者NORflash中。

(2)"單片機(jī)上電初始化后,RAM存儲(chǔ)初始化全局變量,這些全局變量是從調(diào)試器燒進(jìn)去的S19文件中獲取的嗎?"這是個(gè)很好的問(wèn)題,全局變量和靜態(tài)變量的初始化值是保存在Flash中的Const段里的,新建一個(gè)工程的時(shí)候默認(rèn)有個(gè)startup的匯編程序文件,它負(fù)責(zé)將const段中的初始值付給這些全部變量。這些事情是發(fā)生在你的main函數(shù)之前的。

(3)"bootloader和應(yīng)用程序中有些全局變量分配的ram重合了,有什么影響嗎?",沒(méi)有影響,bootloader和你的應(yīng)用程序是分時(shí)復(fù)用RAM的,上電程序就跑到bootloader,如果有合法的應(yīng)用程序就跑到應(yīng)用程序,應(yīng)用程序里面會(huì)再次初始化變量的,也就是上面2說(shuō)到的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉