MSP430常見問題之FLASH儲存類

2022-03-20 13:13:24 字數 1742 閱讀 4548

q1:用iar embedded workbench for msp430 通過jtag往msp430上寫程式。為了知道片內程式的版本,必須讀出flash 中內容。什麼工具軟體可以通過jtag口實現這個功能?

a1:熔絲未燒斷的話,做個空程式的專案,然後在c-spy選項裡選擇保留未改變的區域,debug後看memory裡的內容!熔絲燒斷的話只能用程式設計器或bsl,如果加密了,只能通過bsl來讀了,不過你要知道中斷向量表的32個位元組的內容,即密碼。

q2:msp430f449中我想把乙個整形的數a存入某地方掉電也不丟失,作為以後程式執行的引數。是放在flash裡面嗎?用**怎麼實現?

a2:如果只是個巴位元組的話就把它作為陣列或者變數定義到flash就可以了。如: const unsigned char value@0x0c000;

q3: 430裡面flash的主儲存區和資訊儲存區有什麼區別麼?是不是程式是儲存在主儲存區裡面的?那資訊儲存區是存什麼資訊的呢?存進去之後是不是隨時能夠讀寫出來呢?

a3: flash分主flash和資訊flash。如你所說,flash主儲存區主要來儲存程式。資訊flash就是儲存資料用的,可以隨時讀取。不過從物理特性而言他們是一模一樣的,就段的長度有區別。當然資訊段你也可以用來儲存程式使用。

q4:在flash 單位元組寫的時候,如我寫在d區,可以不用全部清d區嗎?因為d區還有先前儲存的資料.

a4: 不可以。只能先讀出然後全部擦除再重新寫入,如果flash可以如您說的那麼操作,那就是eeprom了

q5: 目前使用的微控制器是5v供電,買的flash儲存晶元3.3v供電,微控制器和儲存晶元的連線是怎麼的呢?我檢視一些相關資料,說是可以直接連線,但是直接連線有問題,請問如何連線??需要什麼樣的方法??

a5: 最好在flash與mcu之間接乙個電平轉換晶元, 或者用mofet管轉換一下電平。

q6:請問擦寫flash 選擇頻率時,有沒有要特別注意的,如果我用8m的,不分頻,這樣可以嗎?

a6:要注意啊,擦寫flash的頻率在250~470k(具體可以查查手冊);必須對fctl2進行設定,使頻率在這個範圍內。

q7: 用jtag介面往430 中寫程式會不會破壞原有flash資訊段儲存的資料啊?

a7:取消擦除資訊段選項,即在iar project 的options 選項中debug 下的選項。

q8:從資料手冊上來看,在寫的過程中,好像要求判斷busy位來決定接下來的操作,可是為什麼ti的例程裡面沒有判斷busy bit ?是不是mcu會自動判斷?

a8:430對flash的寫操作多種。比如塊寫(××ockwrite)和位元組/字寫(byte/wordwrite),在不同模式下,允許寫的操作也不同。比如在位元組寫(byte write)操作下,允許在flash memory或在ram下進行。當在flash memory下進行寫操作時,此時cpu是掛起的,直到寫操作完成它才能執行下乙個指令操作,但是當擦除程式是在ram內初始化的,那麼cpu就可以一直執行,如果不判斷busy位的話,當ram內**執行完畢(us級),pc跳轉到flash,而此時flash還再做擦除操作(ms級)就會造成非法訪問,產生不可遮蔽中斷。

q9:msp430的編譯器預設是將陣列定義在ram 裡面。請問如果我要將定義的陣列直接儲存在flash裡面應該如何定義呢?是不是要修改編譯器的某個配置資訊,然後直接用const 定義呢?

a9:這個如何分配,以及用什麼關鍵字都是由編譯器決定的,如果你用的是iar embedded workbench for 430,那再在陣列宣告的時候,前面加乙個const那麼在編譯的時候就會將陣列分配到flash空間。如果不加const預設的情況是分配到ram空間的。

MSP430常見問題之通訊類

1 430 串列埠中,有個r d 控制線,在接收上位機的資料,但本身的資料有無傳送完畢不知道啊,什麼時候才可置低r d 位來接收資料啊?好像430 沒有傳送完中斷標誌 a1 位元組主動傳送,一般都能發出去,除非你的的時鐘有問題 可以用程式檢測,半雙工通訊,可以多傳送乙個位元組,作為判斷,當最後個位元...

MSP430常見問題之AD轉換類

q1 msp430f149 ad 的輸入阻抗有多大?a1 rc 2000歐 30pf q2 msp430 adc12 模組的速度?a2 adc12 的轉換速率是轉換所需的adc12clk 以及時鐘的一項功能。adc12clk 的近似最小值與最大值分別為500khz 及6.5mhz。速度最快的整個轉換...

MSP430常見問題之FLASH儲存類

用iar embedded workbench for msp430 通過jtag往msp430上寫程式。為了知道片內程式的版本,必須讀出flash 中內容。什麼工具軟體可以通過jtag口實現這個功能?a1 熔絲未燒斷的話,做個空程式的專案,然後在c spy選項裡選擇保留未改變的區域,debug後看...