啟動指令碼去掉了中斷向量表表部分,能節省一部分**空間,後續可以自己定義,只要對齊到512位元組(這樣支援最多128個中斷)就可以了。
另外去掉了c的init、c++的構造析構支援。因此不能使用c庫。不使用標準c庫可以省下很多**空間。
/* gd32vf103 startup assembly by mengxp */
#include "riscv_encoding.h"
.section .init
.globl _start
.type _start, @function
_start:
/* disable global interrupt */
csrc csr_mstatus, mstatus_mie
/* jump to the absolute address of 1f */
lui ra, %hi(1f)
jr %lo(1f)(ra)
1: /* enable fpu */
#ifdef __riscv_flen
li t0, mstatus_fs
csrs mstatus, t0
csrw fcsr, x0
#endif
/* load stack pointer */
la sp, _sp
/* load initialized data section */
la a0, _sidata
la a1, _sdata
la a2, _edata
bgeu a1, a2, 2f
1: lw t0, (a0)
sw t0, (a1)
addi a0, a0, 4
addi a1, a1, 4
bltu a1, a2, 1b
2: /* clear bss section */
la a0, _sbss
la a1, _ebss
bgeu a0, a1, 2f
1: sw zero, (a0)
addi a0, a0, 4
bltu a0, a1, 1b
2: /* enable mcycle */
csrci csr_mcountinhibit, 0x5
/* main entry */
call main
_end:
j _end
/* gd32vf103 linker script by mengxp */
output_arch("riscv")
entry(_start)
/* run in flash */
memory
/* run in ram */
/*memory
*//* required amount of stack */
stack_size = 0x400;
sections >flash
/* the program code and other data goes into flash */
.text : >flash
/* constant data goes into flash */
.rodata : >flash
.preinit_array : >flash
.init_array : >flash
.fini_array : >flash
/* used by the startup to initialize data */
provide( _sidata = loadaddr(.data) );
/* initialized data sections goes into ram, load lma copy after code */
.data : >ram at> flash
/* uninitialized data section */
.bss : >ram
.stack origin(ram) + length(ram) - stack_size : >ram
}
GD32之RTC操作注意事項
由於gd32官方例程過於簡單,在實際專案開發中如果套用官方例程往往不能滿足應用中的需求。下面就rtc的操作總結了幾條比較關鍵注意點。一 在操作rtc前要先將rtc和apb介面同步 呼叫函式 rtc register sync wait 由於對rtc的操作要通過apb介面,並且當系統復位或者從低功耗模...
關於GD32除錯JLINK連線不上的問題
最近有乙個專案要用到gd32e230,然後經過了繪畫原理圖 pcb佈線 焊接元件,再到最後一步的除錯,發現用jlink的swd模式無論怎麼也連不上。在和同事糾結了兩天之後,發現了原來是pcb裡面ic的封裝畫錯了。以下把gd32和stm32官方文件中關於封裝的部分作乙個對比。gd32官方文件上關於封裝...
兆易創新GD32微控制器的入坑簡介
一 關於兆易創新gd32的定位 從mcu的市場份額來看,占有率最大莫過於意法半導體st,不得不說生態的建設 包括資料,市場推廣和服務等 確實是下了很多的精力,從2018年的資料來看gd的排名還是個位數,國產化的背景下,市場空間還很大 另外乙個國產品牌新唐的占有率也不是很大,所以國產mcu的道路還有很...