音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

關(guān)于ARM的FLASH和圖形GUI

作者:airy 欄目:嵌入式系統(tǒng)
關(guān)于ARM的FLASH和圖形GUI
1、S3C44B0的板子,原來(lái)想用一片SST39VF160來(lái)存儲(chǔ)程序和數(shù)據(jù),發(fā)現(xiàn)仿真沒(méi)問(wèn)題,程序?qū)戇M(jìn)FLASH后,對(duì)FLASH的操作函數(shù)都不能使用。應(yīng)該是不能同時(shí)對(duì)FLASH取指和其他操作,也許只能分成兩塊FLASH了。
2、編譯了一個(gè)GUI的例程,使用仿真器一切正常,寫(xiě)入FLASH后在LCD上寫(xiě)字時(shí),屏幕就會(huì)閃動(dòng),會(huì)不會(huì)是FLASH的速度問(wèn)題?

以上問(wèn)題有朋友遇到嗎?有沒(méi)有辦法軟件實(shí)現(xiàn)內(nèi)存映射,在啟動(dòng)的時(shí)候把程序COPY到內(nèi)存中去執(zhí)行呢?

2樓: >>參與討論
yappy
reply
1.可以將 FLASH 的操作函數(shù)拷貝到 ram 中運(yùn)行:
  申請(qǐng)一段 ram 區(qū)域,將 FLASH 操作函數(shù)代碼拷貝到 ram 中,
  然后將 ram 首地址強(qiáng)制轉(zhuǎn)換成一個(gè)函數(shù)指針,
  調(diào)用這個(gè)指針即可完成對(duì) FLASH 的操作,
2.仿真器程序是在 ram 中運(yùn)行的,實(shí)際程序在 FLASH 中運(yùn)行,
  ram 和 FLASH 的訪問(wèn)速度不一樣(ram 速度快得多),
  造成了這種情況。

44b0 好像沒(méi)有地址重映射功能,
你可以做一段簡(jiǎn)單的 bootloader,將代碼拷貝到 ram 中后運(yùn)行,
這樣順便也解決了第一個(gè)問(wèn)題

3樓: >>參與討論
airy
Thanks
正在寫(xiě)點(diǎn)代碼測(cè)試硬件仿真和把代碼放入FLASH執(zhí)行的速度差別。

44B0是沒(méi)有地址重映射功能。我想在Bootloader中把整個(gè)FLASH導(dǎo)入RAM中去,不過(guò)編譯時(shí)要花點(diǎn)功夫了。


4樓: >>參與討論
airy
做了一小試驗(yàn)
一個(gè)循環(huán)0xfffffff次的延時(shí)代碼,在硬件仿真中時(shí)間27s,在FLASH中執(zhí)行只要21s。
直接把程序代碼Copy到RAM中可以實(shí)現(xiàn),但是運(yùn)行時(shí)應(yīng)該會(huì)有問(wèn)題,因?yàn)槌绦虼a是絕對(duì)地址,除非在編譯時(shí)把程序代碼直接定義在RAM中。

在沒(méi)有地址重映射功能的CPU中,我想應(yīng)該也可以實(shí)現(xiàn),只是要復(fù)雜一些。
初步設(shè)想,把程序分成兩塊來(lái)編譯,一塊Bootload負(fù)責(zé)初始化RAM、搬遷程序代碼,把其他程序編譯到RAM的地址,通過(guò)ARMLink程序把兩者連接成一段代碼,寫(xiě)入FLASH,非矢量的中斷處理程序有些細(xì)節(jié)還沒(méi)很清晰。




5樓: >>參與討論
ecurb2006
可以使用緩沖
>編譯了一個(gè)GUI的例程,使用仿真器一切正常,寫(xiě)入FLASH后在LCD上寫(xiě)字時(shí),屏幕就會(huì)閃動(dòng),會(huì)不會(huì)是FLASH的速度問(wèn)題?

LCD上寫(xiě)字,如果是直接寫(xiě),會(huì)大量調(diào)用畫(huà)點(diǎn)函數(shù),會(huì)出現(xiàn)閃爍。
可以先‘寫(xiě)’在一個(gè)內(nèi)存區(qū)域里(緩沖),‘寫(xiě)’完后。
直接拷貝緩沖到顯存,完成顯示。




6樓: >>參與討論
airy
對(duì),就是使用緩沖寫(xiě)的
如果不使用緩沖,仿真器仿真時(shí)也會(huì)有閃動(dòng)的。

7樓: >>參與討論
airy
不使用代碼搬移,有沒(méi)有更好的辦法?
1、在沒(méi)有地址重映射的系統(tǒng),把代碼搬移到RAM中執(zhí)行,沒(méi)有嘗試過(guò),并且,仿真起來(lái)也很麻煩,實(shí)在不行,只好增加一塊FLASH.html">FLASH

2、發(fā)現(xiàn)寫(xiě)入FLASH后,程序不是慢了,而是更快了,而LCD控制器竟然跟程序執(zhí)行速度有關(guān),從示波器看來(lái)SCLK的頻率并沒(méi)有改變,但是在寄存器中把它改慢之后確實(shí)是LCD不閃了,具體原因還沒(méi)搞明白,也許是DATA送的快了的緣故吧

8樓: >>參與討論
ecurb2006
可以嘗試監(jiān)測(cè)LCD的刷新頻率
也是一個(gè)防止閃爍的方法。

* - 本貼最后修改時(shí)間:2006-10-20 18:31:14 修改者:ecurb2006

9樓: >>參與討論
airy
對(duì)
只是沒(méi)搞明白為什么程序?qū)懺诓煌牡胤絃CD的表現(xiàn)就不同

10樓: >>參與討論
ecurb2006
?
>只是沒(méi)搞明白為什么程序?qū)懺诓煌牡胤絃CD的表現(xiàn)就不同
不同的地方?你的LCD是怎么寫(xiě)入像素的?顯示區(qū)緩沖是完整的一塊區(qū)域,
還是使用換頁(yè)機(jī)制,進(jìn)行訪問(wèn)。如果是換頁(yè)機(jī)制,會(huì)出現(xiàn)在一些區(qū)域?qū)懭胨俣瓤,一些區(qū)域慢的現(xiàn)象,這是正常的。


11樓: >>參與討論
airy
跟我的猜測(cè)差不多
LCD采用換頁(yè)機(jī)制進(jìn)行顯示.看到兩種情況下,LCD控制線的信號(hào)沒(méi)什么差異,數(shù)據(jù)線數(shù)據(jù)不好測(cè),可能只是數(shù)據(jù)傳輸速率稍有差別。我的解決方法是把CLK信號(hào)頻率降低。
總結(jié)原因,硬件仿真時(shí),程序執(zhí)行速度慢,數(shù)據(jù)傳輸速率低,而燒寫(xiě)入FLASH后,程序執(zhí)行速度快了,DATA信號(hào)線傳輸速度超過(guò)LCD可以的最高速度(不過(guò)在LCD的Datasheet里面并沒(méi)有這一點(diǎn))導(dǎo)致閃屏

12樓: >>參與討論
ecurb2006
呵呵
一般無(wú)論是在嵌入式系統(tǒng)還是PC系統(tǒng),顯示系統(tǒng)的刷新頻率都會(huì)低于數(shù)據(jù)傳輸?shù)。如果你能監(jiān)測(cè)到LCD刷新,等最近的一次刷新完成后,你就把數(shù)據(jù)填充到顯示區(qū)緩沖,也就是最好在LCD刷新之間,寫(xiě)入數(shù)據(jù),那么你的應(yīng)該程序會(huì)表現(xiàn)得很平滑,呵呵,我想應(yīng)該是這樣的:)


13樓: >>參與討論
lw2008
2年前我是用拷貝平移解決的
 
14樓: >>參與討論
airy
拷貝平移?
樓上的能否講的詳細(xì)一點(diǎn)?
我想應(yīng)該可以實(shí)現(xiàn),只是沒(méi)搞清楚RDS怎么設(shè)置,而且,不清楚在沒(méi)有地址映射的MCU上軟件實(shí)現(xiàn)地址重映射穩(wěn)定性怎樣,比如中斷入口、數(shù)據(jù)區(qū)初始化等問(wèn)題都是比較麻煩的事情,等有時(shí)間再靜下心來(lái)嘗試一下

15樓: >>參與討論
lw2008
將仿真時(shí)內(nèi)存程序拷入閃存,再上電加載。
 
參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
ARM+DSP+FPGA綜合開(kāi)發(fā)平臺(tái)
關(guān)于ADS
上海哪里有培訓(xùn)WINCE,LINUX?
顯示過(guò)程中出現(xiàn)花屏,各位指導(dǎo)指導(dǎo)吧!
關(guān)于嵌入式系統(tǒng)BOOTLOADER移植
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)