⑴ dcd運行指數怎麼修改
i.MX RT啟動數據DCD的結構及配置
目前NXP的i.MX RT因為很好的性能,在MCU市場上受到了廣泛的歡迎。i.MX RT內部有三種SRAM,分別是ITCM、DTCM和OCRAM。主流使用的i.MX RT的內部SRAM都小於1MB,但對於有些應用,比如需要LCD顯示的應用,則需要更大的RAM存放所需顯示的每幀數據。如對於解析度為WQGA(480x272)的屏,顯示16bit的色深,用一個數據緩存區,顯示一幀的數據至少需要260KB的RAM;如果想支持解析度更高,得到更好的顯示性能,如i.MX RT可支持解析度WVGA(800x480)的LCD屏,顯示24bit的色深,使用兩個數據緩存區,則顯示一幀的數據至少需要2.3MB的RAM;如果再加上其他的應用代碼,1MB的內部SRAM是遠遠不夠的。因此,很多應用需要外擴RAM,通常SDRAM用的比較多。
毫無疑問,i.MX RT支持SDRAM,並通過SEMC介面實現SDRAM的讀寫。
說到SDRAM的使用就不得不說i.MX RT的啟動。除了內部RAM,i.MX RT啟動支持以下6種外部存儲器:
·Serial NOR Flash via FlexSPI
·Serial NAND Flash via FlexSPI
·Parallel NOR Flash via SEMC
·RAW NAND Flash via SEMC
·SD/MMC via uSDHC
·SPI NOR/EEPROM via LPSPI
其中Serial/Parallel NOR這兩種存儲器可以XIP(直接執行),其他4種存儲器無法XIP,需要把代碼拷貝到內部RAM或外接SDRAM里運行。對於內部RAM和SDRAM,兩個都是易失性存儲器,存放的代碼或數據掉電會丟失,所以無法直接啟動。
POR上電後,要麼通過外部調試器,直接將應用程序和數據下載進SRAM/SDRAM,並將PC指向應用程序開始執行;要麼通過存儲在FLASH/ROM中的Bootloader程序,將應用程序和數據先載入到SRAM/SDRAM里,然後再跳轉過去執行。
只不過SRAM是掛在系統匯流排上,一上電內部的SRAM就已經初始化完成了,而SDRAM是掛在存儲器介面控制器上,因此需要先初始化SDRAM,才能向SDRAM中載入應用程序和數據。
除了從SDRAM 啟動時需要在外部flash載入應用程序前提前初始化SDRAM,使SDRAM處於ready狀態;有些應用同樣需要在進入用戶主程序前,完成SDRAM的初始化,以便CPU載入數據或代碼到SDRAM時不會出錯。如LCD的顯示,對於字型檔和圖形庫文件的載入。
通常我們用DCD(Device configuration data)來初始化SDRAM.。但是DCD文件一般放在哪裡及怎樣定義呢,這里還是要說一下RT的啟動,及一個可啟動的image是如何構成的。
因為眾所周知絕大多數的RT系列產品是沒有內部FLASH的, 除了個別型號如i.MX RT1064;對於大多數有內部FLASH的MCU, FLASH地址是映射在內核的4GB系統空間內的(一般從0x0地址開始), MCU上電後可直接從內部FLASH讀取應用代碼並原地執行。
對於RT系列來說則是由片內的BootROM進行引導的,BootROM讀取BOOT_MODE寄存器和eFUSEs的值,確定從哪個存儲器啟動,從外部存儲器載入應用程序代碼到內部SRAM、外部SDRAM或直接從Flash原地執行(XIP)。要讓系統能夠正常啟動起來,以FlexSPI NOR flash為例,則燒寫到外部SPIFlash裡面的完整代碼段必須按照BootROM規定的格式編寫,也就是必須在用戶的應用程序前加一個頭文件, 這個頭文件包含如下部分,這樣才能正常啟動。在這個頭文件中就包含了SDRAM的配置信息,也就是DCD的定義。
通常可啟動的Image頭文件包含如下部分:
·Flash Configuration Parameters (FCP) — Flash的配置參數;
·Image Vector Table (IVT) — 包含指向固定物理地址的程序入口指針,包含指向DCD的指針,及其他的啟動過程中ROM需要用到的指針,並通過查找這些入口地址找到程序的各組成部分;
·Boot data — 包含程序鏡像文件的地址,大小及Plugin標志;
·Device Configuration Data (DCD) — 晶元配置數據,比如SDRAM寄存器的設置;這段數據的入口也包含在IVT中,這段數據最大為1768字
·Application — 用戶程序及數據;
IVT的結構如下:
1.png (64.35 KB, 下載次數: 5)
2020-5-28 14:47 上傳前幾個欄位都是內置的Boot ROM在初始化晶元時需要被讀取的數據。初始化完成後會跳轉到用戶代碼開始執行,也即Reset_handler。
SDK的常式中關於IVT/FCB/DCD/LUT的定義及地址分配
2.png (150.9 KB, 下載次數: 7)
2020-5-28 14:47 上傳
3.png (108.64 KB, 下載次數: 3)
2020-5-28 14:48 上傳下面以常見的FlexSPI NOR Flash的啟動為例,說明啟動的過程
4.png (104.42 KB, 下載次數: 7)
2020-5-28 14:48 上傳晶元POR上電後,Arm CPU核心首先執行Boot ROM程序,判斷並決定最終從QSPI Flash啟動;ROM配置FlexSPI的PINMUX,時鍾配置為30MHz,單線模式;讀取Flash初始的512位元組讀取配置參數,並配置IOMUXC,LUT等;根據讀取的參數配置Flash到正常運行模式;讀取IVT並判斷是否是XIP;如果是XIP直接從flash中執行,如果非XIP需先拷貝4K Byte數據到OCRAM。這4K Byte數據包含IVT、DCD和Boot Data。通過IVT找到DCD的入口地址後,ROM代碼執行DCD檢查,讀取配置信息來對外設進行初始化,如SEMC的初始化;再從Boot Data中提取出程序鏡像的地址和大小,然後載入到到RAM(SDRAM)中,並跳轉到RAM(SDRAM)中開始執行。
當使用SDRAM時,大家經常會擔心,MCU是什麼時候初始化SDRAM,什麼時候載入代碼到SDRAM並開始執行的,會不會出現還沒有初始化就開始載入代碼的情況。
除了上面介紹的FlexSPI Flash的啟動流程,下面以IAR的啟動過程為例,可以在startup_MIMXRT1052.s中找到CPU的起始入口Reset_Handler,程序的載入過程實際上是在__iar_program_start這個函數裡面實現的,這個函數是包含在IAR的lib庫中。
這里可以看出來代碼載入是在用戶程序里執行的。但DCD的讀取也就是SDRAM的初始化是在Boot Rom中執行的,所以是不會影響到後面代碼和數據載入到SDRAM的。當然如果對DCD不熟,想直接初始化SDRAM,也可以把這些初始化放在SystemInit函數裡面,因為SystemInit是在__iar_program_start之前執行完畢的,一樣不會影響對SDRAM的讀寫。
5.png (60.58 KB, 下載次數: 5)
2020-5-28 14:48 上傳除了DCD文件,如果IDE使用IAR,我們也可用SDRAM的預處理文件(如evkmimxrt1050_sdram_init.mac)文件來初始化SDRAM。mac文件主要是SDRAM Debug模式時使用,當然在mac文件中配置的內容是和DCD一致的,在IDE的屬性中可以找到mac文件的鏈接位置。
6.png (98.21 KB, 下載次數: 5)
2020-5-28 14:48 上傳下面介紹一下DCD的結構及如何生成一個DCD文件。DCD 僅限於對啟動有至關重要的內存區域和外設地址的設置。
ROM根據IVT中的信息確定DCD表的位置。下面顯示的DCD表是大端模式DCD命令位元組數組。DCD最大限制為1768位元組。
DCD data format
7.png (16.64 KB, 下載次數: 7)
2020-5-28 14:48 上傳DCD 頭為 4 位元組,格式如下:
8.png (9.3 KB, 下載次數: 5)
2020-5-28 14:48 上傳·標簽(Tag):單位元組欄位設置為0xD2
·長度(Length):包含DCD總長度的大端模式的兩位元組欄位(以位元組為單位),包括標頭
·版本(Version):單位元組欄位設置為0x41
寫入數據命令(CMD)
寫入數據命令用於把給定的1、2或4位元組數值(或位掩碼)寫入到相應的目標地址中。
下表是寫入數據命令的格式(在大端位元組數組中):
9.png (28.68 KB, 下載次數: 6)
2020-5-28 14:48 上傳·標簽(Tag):單位元組欄位設置為0xCC
·長度(Length):大端模式的雙位元組欄位,包含寫入數據的長度,命令(以位元組為單位),包括標頭
·地址(Address):必須將數據寫入的目標地址
·值/掩碼(Value/Mask):要寫入上述地址的數據值(或位掩碼)
參數欄位(Parameter)是由位欄位組成的單位元組,如下所示:
10.png (10.37 KB, 下載次數: 4)
2020-5-28 14:48 上傳·位元組(bytes):以位元組為單位的目標地址的寬度(1、2或4)
·標志(flags):命令行為的控制標志
·數據掩碼=位3:如果設置,目標地址上只能覆蓋特定位(否則所有位都可以覆蓋)
·數據集=位4:如果已設置,目標地址的位將使用此標志覆蓋(否則將被忽略)
可以指定一個或多個目標地址和值/位掩碼對。相同的位元組和標志的參數應用於命令中的所有位置。
⑵ 大家誰知道怎麼用24CXX系列晶元讀寫軟體修改存儲器的數據呢
沒人知道嗎??????????????????????
⑶ 怎麼在windows xp中更改筆記本電腦電池的電池晶元數據
一般WIN XP會自動顯示的。你試試:
右鍵桌面——屬性——屏幕保護程序——電源——電源使用方案選擇:便攜\袖珍式
注意:在接通電源時當然不顯示電量了,因為此時沒有消耗電池電量。
只有在拔去電源時才能顯示電源電量。
⑷ 門禁卡IC晶元數據如何修改
先確定是ID卡還是IC卡。 ID卡上邊只有一串的數字,是寫死的,不能修改。
IC卡的話,里邊數據可以修改。 前提是你知道卡的讀寫密碼。不知道密碼的話,是讀取不出來的。
⑸ 我有一個93C76晶元,現需要改裡面數據。誰會啊
在EXCEL中選中要生成圖表的數據,點擊「插入——圖表」,按照提示生成圖表,如果想修改X坐標、Y坐標上的數值,可雙擊該數值,在出現的「坐標軸格式」中進行修改。
⑹ 如何使用XP編程器讀寫晶元數據
首先軟體里選擇目標晶元型號。然後載入數據文件,有各種格式,不知道你的文件是什麼格式的。然後將晶元放入編程器鎖緊座,開始編程就可以了。
⑺ 門禁卡IC晶元數據如何修改
解決方法很多!深圳市則科科技開發有限公司,專業人力資源管理系統,一卡通系統研發商,提示您:IC卡默認有一些晶元內容,修改不了;使用中通過軟體寫進去的內容(比如說工號,姓名,密碼等)可以通過對應的發卡器結合發卡時的軟體進行注銷(也就是清除數據)操作,之後你可以重新寫我需要的數據。
⑻ 飯卡的晶元可以改數據嗎
可以
IC卡密碼可以破解,裡面的數據你看懂了就可以修改,但是你不確定這組數據是不是金額的數據呢?這你就得改一次去試一次,容易產生懷疑,還有你不怕月底食堂跟學校去對賬的時候發現數據不對,然後清單一拉一對發現你的卡實際充值是100,實際消費卻有好幾百,馬上就會找你談話的!這個時候你又跑不掉,而且搞不好就變成了詐騙犯了。
⑼ M1卡等IC卡的密鑰AB和控制位有什麼用,如果是修改數據需要,那麼如何使用這三項來進行數據修改
IC卡包括了ID卡,M1卡、CPU卡;ID卡指的是低頻率的卡,讀取的頻率是不一樣的
M1卡通常指的是恩智浦的S50晶元卡;
CPU卡比ID卡和M1卡容量多、具有自動運算功能、還有安全性強的卡。
1、ID卡
全稱為身份識別卡(Identification
Card),是一種不可...
⑽ 摩托車儀表晶元用燒錄器讀出得數據怎麼改
燒錄器對讀出的內容是無法判斷哪裡進行修改的,他就是一個工具。具體修改哪裡,還得需要使用這個晶元的人來改。何況你這個圖上的都是Flash晶元,都是二進制的bin文件,不知道的,還是不要隨便改了。