本文來源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2286475_1_1.html
前言
鏈接腳本
啟動代碼
進入用戶代碼
前言
為了給后邊的工作打下基礎(chǔ),需要先了解下程序的框架,和程序執(zhí)行的過程。本文以UART_Demo為例進行講解。
前提是已經(jīng)搭建好開發(fā)環(huán)境,見https://bbs.elecfans.com/jishu_2286222_1_1.html,打開UART_Demo工程。
鏈接腳本
從工程設(shè)置的鏈接器設(shè)置里找

找到鏈接文件如下

打開該文件

從如下信息可以看出,0x00000000處放置的就是中斷向量
.vectors : { KEEP(*(.vectors )) }
. = 0x00000000;
從數(shù)據(jù)手冊的第4章可以看到

從如下信息可以看出,
NDS_SAG_LMA_FLASH = 0x20000000 ;
. = 0x20000000;
PROVIDE (BIN_BEGIN = .);
對應(yīng)的是FLASH存儲程序使用,有效1MB,
對應(yīng) PROVIDE (FLASH_SIZE = 0x0100000);

從以下信息可以看出
PROVIDE (_STACK_TOP = 0x00a0000);
棧指針指向的是DLM_CPU的高地址處。

其他的BSS,DATA段等的分配都可以類似的去分析。
啟動代碼
前面通過鏈接腳本找到向量段.vectors
所以搜索.vectors


雙擊如下搜索到的結(jié)果


.global_RESET_ENTRY
和link文件的ENTRY(_RESET_ENTRY)對應(yīng),是程序的入口
_RESET_ENTRY:
j _START
第一條指令就是跳轉(zhuǎn)到_START執(zhí)行
后面就是相關(guān)的初始化操作
比如初始化棧指針,其中_STACK_TOP是link文件中的符號
/* Initialize stack pointer */
la t0, _STACK_TOP
mv sp, t0
比如初始化DATA段,可以對照link文件查看段地址
/* Move Data from flash to sram */
_IDATA_INIT:
la t1, _DATA_LMA_START
la t2, _DATA_VMA_START
la t3, _DATA_VMA_END
_IDATA_INIT_BEGIN:
bleu t3, t2, _IZERO_BSS
lw t0, 0(t1)
sw t0, 0(t2)
addi t1, t1, 4
addi t2, t2, 4
j _IDATA_INIT_BEGIN
比如初始化BSS段,可以對照link文件查看段地址
/* Zero .bss section in sram */
_IZERO_BSS:
lui t0, 0
la t2, _BSS_VMA_START
la t3, _BSS_VMA_END
_IZERO_BSS_BEGIN:
bleu t3, t2, _IZERO_AES
sw t0, 0(t2)
addi t2, t2, 4
j _IZERO_BSS_BEGIN
以上操作不同的芯片都是類似的,一通百通,了解一個芯片其他的芯片也就都僚機了。至于其他芯片相關(guān)的操作可以對照手冊去理解,這里不再解釋。
最后進入main函數(shù),進入用戶代碼
la t0, main
jalr t0
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
泰凌微
+關(guān)注
關(guān)注
8文章
204瀏覽量
12509
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
全新Altera Agilex開發(fā)套件正式發(fā)布
Altera 正式面向嵌入式和 FPGA 開發(fā)推出三款緊湊型、高性能開發(fā)套件,以豐富互聯(lián)與擴展能力,加速從概念到原型的驗證流程。
探索Renesas DA1459x PRO開發(fā)套件:硬件設(shè)計與應(yīng)用解析
探索Renesas DA1459x PRO開發(fā)套件:硬件設(shè)計與應(yīng)用解析 在當(dāng)今的電子設(shè)計領(lǐng)域,開發(fā)套件的選擇對于項目的成功至關(guān)重要。Renesas的DA1459x PRO開發(fā)套件(DK)為開發(fā)
DA14535 USB開發(fā)套件硬件解析:開啟低功耗藍牙開發(fā)新征程
DA14535 USB開發(fā)套件硬件解析:開啟低功耗藍牙開發(fā)新征程 在當(dāng)今的電子設(shè)備開發(fā)領(lǐng)域,低功耗藍牙技術(shù)因其廣泛的應(yīng)用前景和高效的性能表現(xiàn),受到了眾多開發(fā)者的青睞。Renesas的D
探索TDK SmartMotion DK-UNIVERSAL-I開發(fā)套件:硬件用戶指南
探索TDK SmartMotion DK-UNIVERSAL-I開發(fā)套件:硬件用戶指南 在當(dāng)今的電子科技領(lǐng)域,開發(fā)套件對于工程師們快速評估和開發(fā)基于傳感器的解決方案至關(guān)重要。今天,我們就來深入
泰凌微電子多系列SoC率先支持Zigbee 4.0標(biāo)準(zhǔn) 助力更高效的連接
連接標(biāo)準(zhǔn)聯(lián)盟最新發(fā)布的Zigbee 4.0標(biāo)準(zhǔn),為低功耗物聯(lián)網(wǎng)連接帶來了全新升級!泰凌微電子迅速響應(yīng),旗下TLSR9、TL3、TL7系列SoC已率先實現(xiàn)對該標(biāo)準(zhǔn)的支持,以硬核技術(shù)助力智
芯科科技推出Simplicity Ecosystem軟件開發(fā)套件
Silicon Labs(芯科科技)今日在深圳盛大舉辦享譽業(yè)界的Works With開發(fā)者大會,同時宣布推出Simplicity Ecosystem軟件開發(fā)套件,它不僅是下一代模塊化的軟件開發(fā)套件
瑞芯微RV1126B開發(fā)套件評測大賽正式開賽!
大賽簡介EASYEAI靈眸科技正式啟動2025年首屆“瑞芯微RV1126B開發(fā)套件評測大賽”,以“硬核實踐,賦能未來”為主題,面向開發(fā)者開放價值835元的EASYEAINano-TB開發(fā)套件
?TI CC1311P3 LaunchPad?開發(fā)套件技術(shù)解析與應(yīng)用指南
Texas Instruments CC1311P3 LaunchPad? 開發(fā)套件設(shè)計用于加速開發(fā)SimpleLink? 亞1GHz無線MCU。該器件支持TI 15.4堆棧和專有射頻協(xié)議。CC13XX-CC26XX軟件開發(fā)套件
貿(mào)澤開售適用于邊緣計算和嵌入式應(yīng)用的Altera Agilex 3 FPGA C系列開發(fā)套件
FPGA C系列開發(fā)套件。此開發(fā)套件采用緊湊型桌面外形設(shè)計,并可選配子卡,支持插入PCIe 3.0 x1插槽。這款多功能、低功耗的電路板適用于工業(yè)、醫(yī)療、視頻和安全等領(lǐng)域的嵌入式
發(fā)表于 08-04 17:27
?1152次閱讀
【高云GW5AT-LV60 開發(fā)套件試用體驗】三、LED燈控制實驗
【高云GW5AT-LV60 開發(fā)套件試用體驗】三、LED燈控制實驗
高云軟件開發(fā)環(huán)境搭建好以后,進行正式的FPGA編程前,必須使用安裝好的Gowin 軟件,結(jié)合高云GW5AT-LV60 開發(fā)套
發(fā)表于 07-21 05:57
DA14594 BLE Pro開發(fā)套件 開源 (原理圖+BOM+PCB)
DA14594-006FDEVKT-P BLE Pro開發(fā)套件 *附件:REN_DA1459x_開發(fā)板 硬件手冊.pdf *附件:DA1459x Pro開發(fā)套件 (469-16-D) 物料清單
【高云GW5AT-LV60 開發(fā)套件試用體驗】一、硬件篇
【高云GW5AT-LV60 開發(fā)套件試用體驗】一、硬件篇
高云的Arora Ⅴ系列的GW5AT-LV60 FPGA ,是高云半導(dǎo)體晨熙家族第5代產(chǎn)品,其內(nèi)部資源豐富,具有全新構(gòu)架的高性能 DSP
發(fā)表于 05-19 09:51
89元起!開源國產(chǎn)FPGA開發(fā)套件,提供原理圖及配套參考例程的源代碼
產(chǎn)品詳情MES2KG開發(fā)板是一套基于紫光FPGA的開發(fā)套件,以紫光Compact系列PGC2KG-LPG100器件為核心,預(yù)留豐富的擴展IO及數(shù)碼管、按鍵、LED燈,為用戶提供基本的硬件環(huán)境,并且
AI功能(SC171開發(fā)套件V3)
開發(fā)套件V3.pdf
*附件:工程源碼.zip
3
圖像超分辨率(real esrgan x4plus)案例----基于SC171開發(fā)套件V3
9分09秒
https://t.elecfans.com
發(fā)表于 04-16 18:48
【泰凌微TLSR9系列開發(fā)套件試用體驗】代碼執(zhí)行過程分析

評論