Microchip PIC24F dsPIC33E flash 自擦寫的尿性小結
最近摸了好久,發現這個東西真的難,
MHCP 這套16bit 體系flash的擦寫操作,分為ICSP和RTSP兩種方式,前者就是常見的官方pickit/ICD程式設計燒寫操作時序。而後者是為bootload或者資料儲存自擦寫準備的,執行過程中的擦寫操作。
RTSP flash讀很簡單,速度也很快。
但是RTSP擦寫就是各種坑了。看了程式設計手冊和datasheet發現這貨在寫入之前必須進行擦除操作,而擦除的最小擦除單位是一個page,不是一個row。那麼一個page是多大呢,大概一千多words吧。摔QQQQ!!!!
然後,擦完了一頁,就可以寫入了,每次可以按row寫32/64個words;也可以按雙位元組寫,每次寫一個指令字word。而且你在flash讀取裡看,發現因為這貨24bit的指令字位寬,實際你每個指令字能使用的只有低端16bits,高位8bits是浪費的,不能用。擦了就是保持ff。
相關推薦
Microchip PIC24F dsPIC33E flash 自擦寫的尿性小結
最近摸了好久,發現這個東西真的難, MHCP 這套16bit 體系flash的擦寫操作,分為ICSP和RTSP兩種方式,前者就是常見的官方pickit/ICD程式設計燒寫操作時序。而後者是為bootload或者資料儲存自擦寫準備的,執行過程中的擦寫操作。 RTSP f
freescale飛思卡爾 HC9S12 系列微控制器 Flash擦寫詳解(一)之時鐘設定
Flash擦寫的內容,個人做HC9S12系列微控制器時覺得應該是各模組內容中最難而且是最麻煩的一步了。只有能夠對Flash進行擦寫以後,所做的Bootloader才有真正手段將串列埠或者其他通訊手段接收到的資料或者程式寫入Flash中進行程式或者資料的更新。當初做Flash的擦寫也遇到了很多問題
STM32 Flash操作(擦寫)過程中器件復位導致資料丟失問題
1.問題描述 產品在執行過程中需要儲存一些斷電不丟失的資料,為此將資料儲存在STM32內部的flash中。但是測試人員在測試的過程中,修改了資料引數,直接斷電重啟機器,並沒有等待flash的操作時間,導致原有的資料丟失。 2. 原理分析 本產品硬體平臺是基於STM32F429
NAND Flash 讀、寫、擦除原理
以Micron公司的MT29F2G08為例介紹NAND Flash原理和使用。 1. 概述 MT29F2G08使用一個高度複用的8-bit匯流排(I/O[7:0])來傳輸資料、地址、指令。5個命令腳(CLE、ALE、CE#、WE#)實現NAND命令匯流排介面
STM8L151 在IAR中實現Flash/EEPROM的擦寫
在 STM8L151G6U6中可支援位元組擦寫和塊擦寫,塊擦寫可一次擦寫很所位元組。位元組擦寫比較簡單,需要注意的是塊擦寫,在塊擦寫中,需要配置一個地方。 對於IAR來說, Uncomment the line “#define RAM_EXECUTION (1)” in the
flash的讀寫和擦除
這兩天在做norflash,sd的讀寫操作,記錄一下。 flash的特性是,寫資料只能將1寫為0,0不能寫為1.擦除資料是將所有資料都寫為1.因此如果想在已經資料的flash上寫入新的資料,則必須先擦除。sdcard則沒有這個特性,就直接可以寫入新的資料。 例: 只列出每個
STM32F0開發筆記9: 微控制器內部Flash的讀寫
本文介紹應用C語言進行微控制器內部Flash的讀寫技巧,將從檢視文件開始,到最終完成完整的程式。 微控制器型號:STM32F070F6P6 步驟如下: 1、檢視文件《STM32F030x4/x6/x8/xC and STM32F070x6/xB advanced ARM®-based
linux 對MTD分區nand flash的燒寫和讀取
大小寫 error: null 分開 itl tin app struct util 使用mtd-utils工具實現對flash的升級分區的燒寫yaffs2 yaffs2的格式是根據所使用的nandflash來制作的,不同的nandflash,得到的yaffs2是不一樣的,
AVR下載燒寫的複雜熔絲設定尿性
為什麼AVR16總是下不程序序,我用的是AVR Studio下載的,熔絲位SPIEN變成灰色的了,而且勾不上。 提問者採納 熔絲被你點成外部晶振了,找個訊號發生器把1MHZ 5V的訊號與16接晶振的任意一腳連線,同時用下載器編輯熔絲,記得
關於未使用自適應寫的PC頁面在手機上顯示不全的問題
在head中新增: <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=0.3,
【一起玩esp8266】flash的擦除方法
收到板子之後馬上連線電腦進行了試玩,但是韌體的執行不正常,在D大的指導下用擦除flash的方法解決了問題,在這裡把解決的方法整理一下。這個是之前發的問題帖:http://bbs.eeworld.com.cn/thread-497285-1-1.html 首先,我對於Pyth
NRF52840 nrfjprog 擦寫問題
1 問題描述 1)在用到nrfjprog對hex檔案進行升級時,發現第一次升級後無法跳到app中,進入updater,要再次進行升級才可以跳到app 2)如果將板子的flash清空,即全部擦除,再用nrfjprog對hex檔案進行升級,則可跳到app中 2 問題解決
讓Flash自適應瀏覽器螢幕大小的幾種方法
讓Flash自適應瀏覽器螢幕大小 作者:sutroon 型別:閃吧BBS 來源:閃吧個人空間 要讓flash自適應瀏覽器螢幕大小需要做到以下兩點: 1、swf檔案隨著瀏覽器螢幕大小也相應改變大下; 方法:在網頁裡除了放你的swf檔案外不要放其他的任何內容,並且
使用JTAG Flash Programmer燒寫Flash
除了JTAG Probe以外,TopJTAG公司還有一款JTAG Flash Programmer 軟體,該軟體同樣利用JTAG介面和現有的各種模擬器來控制晶片,通過改變一組I/O狀態,模擬匯流排時序來燒寫Nor Flash。這種方法在產品設計和除錯過程中十分常見,由於採用
關於S3C2440開發板Nand flash程式燒寫和執行的一些理解
這兩天剛開始學習ARM9的裸機程式設計和Linux系統移植,在燒寫Nand flash記憶體的時候對一些指定的地址產生了疑惑。 我看過很多教學視訊,他們在燒寫程式到Nand flash的時候一般會指定一個地址0X3000_0000,而S3C2440的官方手冊上指明瞭0X30
pmtest1.asm from 自動手寫作業系統 粗略解釋
第一章其實還是很好理解的,配置相關暫存器,使用10號中斷顯示helloworld,到了第三章一開始就講了一堆沒法讓人理解的東西,著實讓人崩潰,看了很多部落格,兩天才大概明白是怎麼回事! 首先得有8086的相關知識,王爽那本書。 然後就是為啥真實模式跳到保護模
ANSI,ASCII,Unicode,UTF-8的區別。自認為寫得最好的一篇
原帖地址:http://www.myexception.cn/other/1464250.html ANSI,ASCII,Unicode,utf-8的區別與聯絡 很久很久以前,有一群人,他們決定用8個可以開合的電晶體來組合成不同的狀態,以表示世界上的萬物。他們看到8個開關
嵌入式linux之Nor/Nand FLASH的讀寫
所謂Flash,是記憶體(Memory)的一種,但兼有RAM和ROM 的優點,是一種可在系統(In-System)進行電擦寫,掉電後資訊不丟失的儲存器,同時它的高整合度和低成本使它成為市場主流。 Flash 晶片是由內部成千上萬個儲存單元組成的,每個單元儲存一個b
STM32內部FLASH打包讀寫
定義 form ++ star width 項目 sed item 編寫 最近做到的項目在運行需要把一組uint8_t(unsigned char)的數據進行掉電儲存,想到單片機STM32f030f4p6內部flash可以直接由程序操作,寫了以下代碼用於uint8_t數據打
nor flash之防寫
背景 沒有電池的嵌入式裝置,很容易發生隨機掉電。因此要讓產品可靠穩定,就必須保證各種場景下的掉電安全。 例如系統更新過程隨機掉電,不能導致系統無法啟動。例如正常讀寫flash過程中掉電,最多正在傳輸的資料丟掉,但不能導致flash其他資料出錯,否則輕則丟資料,重則直接變磚無法啟動。本文主要分析flash資料出