許多微控制器在燒錄之前需要一個自定義的初始化序列來初始化目標硬件,例如初始化PLL時鐘,關(guān)閉看門狗或定義Flash的等待狀態(tài)。在使用這些對初始化過程有特殊要求的芯片時,在Segger J-Flash軟件中創(chuàng)建工程時需要設(shè)置芯片的初始化序列。
打開J-Flash軟件,在Options->Project settings選項中,可以設(shè)置芯片的初始化和燒錄成功后需要執(zhí)行的動作。
J-Flash支持設(shè)置的初始化命令包括讀寫特定地址、校驗、暫停CPU和設(shè)置芯片復位方式等。支持的完整的指令列表請參考J-Flash用戶手冊中的介紹。下面簡單介紹一些常用的初始化指令。
Reset:設(shè)置芯片的復位方式,如硬件復位或軟件復位等,某些芯片需要的特殊復位方式也需要通過該命令進行設(shè)置。
Delay:延時一段時間。
Write 32bit:向指定地址寫入32位的數(shù)據(jù)。注意所有的 "Write *"命令只能用于寫入RAM或SFR寄存器,而不能將數(shù)據(jù)寫入到Flash閃存地址。要修改寫入到Flash區(qū)域的數(shù)據(jù)只能通過改變燒錄文件來實現(xiàn)。燒錄文件可以通過使用 "Write File*"命令在初始步驟中修改。
Write File 32bit:向燒錄文件中的指定地址中寫入32位的數(shù)據(jù),用于修改要燒錄的固件。
Halt:暫停CPU。
Go:CPU開始運行。
下面通過AT91SAM7S256該芯片的初始化序列設(shè)置來幫助理解,在Init.steps選項設(shè)置的Comment一欄可以添加注釋,用于記錄該行命令所要實現(xiàn)的功能。
如上圖所示,在該芯片的初始化序列中共設(shè)置了8條指令,下面將介紹這些指令具體完成的工作。
指令0:無延時立即執(zhí)行復位動作,復位模式是模式8。該復位方式是用于ATMEL AT91SAM7內(nèi)核芯片的特定復位模式,該模式通過寫芯片的RSTC_CR寄存器來復位外設(shè)。復位外設(shè)會使所有外設(shè)處于定義的復位狀態(tài)。這包括內(nèi)存映射寄存器,這意味著復位后flash被映射到地址0。JLink支持的所有復位模式的介紹請參考J-Link的用戶手冊。
指令1:向0xFFFFFD44(看門狗定時模式寄存器)地址寫入數(shù)據(jù)0x00008000這個值來關(guān)閉看門狗。
指令2:向0xFFFFFF60(MC Flash模式寄存器)地址寫入數(shù)據(jù)0x00320300這個值來設(shè)置flash的等待狀態(tài)。
指令3:向0xFFFFFC20(PMC寄存器)地址寫入數(shù)據(jù)0x00000601這個值來初始化PLL時鐘。
指令4:延時200ms。
指令5:向0xFFFFFC2C(PLL寄存器)地址寫入數(shù)據(jù)0x00191C05這個值來設(shè)置PLL時鐘和分頻系數(shù)。
指令6:延時200ms。
指令7:向0xFFFFFC30(PMC寄存器內(nèi)的特定位)地址寫入數(shù)據(jù)0x00000007這個值來選擇系統(tǒng)時鐘和外設(shè)時鐘。
本文中我們介紹了如何在J-Flash中設(shè)置芯片的初始化序列,該功能令J-Flash軟件能夠適配更多類型的芯片,進而更好的滿足用戶需求。
審核編輯:湯梓紅
-
微控制器
+關(guān)注
關(guān)注
48文章
7831瀏覽量
153234 -
芯片
+關(guān)注
關(guān)注
459文章
51860瀏覽量
432864 -
初始化
+關(guān)注
關(guān)注
0文章
50瀏覽量
12023 -
SEGGER
+關(guān)注
關(guān)注
0文章
45瀏覽量
14330
原文標題:如何在Segger J-Flash中設(shè)置芯片初始化序列?
文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
STM32入門系列教程之三《如何使用J-Flash調(diào)試》
芯達STM32入門系列教程之二《如何使用J-Flash調(diào)試》
請問IAR下載程序與J-FLASH ARM的差別是什么?
如何使用J-Flash軟件燒錄程序
STM32單片機是怎樣使用SEGGER J-Flash進行燒錄的呢
AllinOne Flash Algorithm for J-Flash平臺使用方法
如何在Segger J-Flash中設(shè)置芯片初始化序列?
STM32入門系列教程之三《如何使用J-Flash調(diào)試》

jlink驅(qū)動下載SEGGER J-FlASH ARM應用程序免費下載

如何使用J-Flash實現(xiàn)調(diào)試

Segger J-Flash下燒寫遇到特定區(qū)域內(nèi)校驗失敗的問題
一個關(guān)于Segger J-Flash在Micron Flash固定區(qū)域下載校驗失敗的故事
AN0016使用J-Flash實現(xiàn)對MM32芯片的燒錄(中文版)

評論