關於Flash資料儲存的一些除錯心得

2021-09-24 20:28:43 字數 1699 閱讀 3317

對於mstar的tsum的晶元,程式都是存在flash裡的,這裡就涉及到flash儲存方面的了。

先介紹下儲存單位,b就是byte的縮寫,b就是位元組;b是bit的縮寫,就是bit位。

1byte=8bit,1kb=1024byte,1mb=1024kb。

flash通常寫多少m,就是指多少m個bit,比如2m的flash大小,就是2m bit大小; flash多少k,就是指多少k byte的大小。

對於8位的mstar晶元來說,乙個儲存單位存放乙個位元組,每個儲存單位對應乙個32(bit)位址,如我們把flash裡的bin檔load出來看:

可以看到457d0h這個位址存放2c這個資料,就是乙個byte(位元組),所以000457d0h這個位址就是32位的。

***那麼如何看flash裡的資料了:以8bank的code為例。

1.我們首先在flash相關函式裡加列印資訊,列印出flash裡每個塊的儲存位址。

列印出來的位址值如下:

這是每個儲存塊的flag:

2.將bin檔燒錄進去,掉電上電,讓程式跑一邊,這樣資料就存到了flash了,我們把bin檔load出來看

(1).這是7b000的資料,放monitorsetting,flag為0x88

(2).這是7c000處的內容,放monitorsetting2,flag為0x44

(3).這是7d000的資料,放timingmode,flag為0x22

(4)…這是7e000處的內容,放factorysetting,flag為0x11

******注意:在程式沒跑起來之前:bin檔裡,7b000,7c000,7d000,7e000這些位置都為空,因為程式沒有跑起來

3.之前說個,每個bank的大小是64k(pc指標能訪問的區間從0000h-ffffh,65536/1024=64kb,所以乙個bank佔64k)。 所以,乙個塊佔4k大小,如:7b000h到7c000h的大小就是4k,而70000h到7f000h就是乙個pc指標訪問的區間,64k大小(是64k個byte),即是乙個bank的大小。

關於Python編寫時候的一些資料格式呼叫問題

utf 8 可變長度字串,網際網路通用,目的是減少記憶體占用 unicode 萬國碼,對於英文多占用乙個位元組 ascii碼 美國編碼1個位元組 gb2313 中國編碼 編碼 encode 解碼 decode python中的print函式一般針對unicode r.content 此函式會自動將g...

關於儲存過程的一些知識

今天需要進行百萬測試資料的新增 雖然網上資料很多,但是其實我並沒有看懂 因為從來沒有接觸過自動化測試。但無論多麼複雜的事情,總會有簡單的方法完成。儲存過程 declare i number j number k number begin for i in 1 9 loop for j in 1 9 ...

一些關於資料儲存和查詢優化的想法

總結如下 1.儲存過程 sql語句程式設計客棧的批處理,面相應用和服務的,程式設計客棧將常用的連續操作做成批處理形式。解決瓶頸問題 大量程式設計客棧sql查詢速度慢s 2.索www.cppcns.com引服務 建立key和文件之間的倒排索引。解決瓶頸問題 kwww.cppcns.comey的全文檢索...