0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區
會(huì )員中心
創(chuàng )作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內不再提示

首創(chuàng )ubuntu下cw32l031的vscode+gcc工程創(chuàng )建、下載、調試

華仔的編程隨筆 ? 來(lái)源: 華仔的編程隨筆 ? 作者: 華仔的編程隨筆 ? 2023-06-25 21:49 ? 次閱讀

目前官方提供CW32L083只提供了MDK、IAR下的固件庫、啟動(dòng)文件。我有過(guò)成功CW32L083的項目移植的經(jīng)驗,現在成功的把CW32L031的工程移植到ubuntu下面,實(shí)現了VSCODE的GCC工程模版?,F在將移植的過(guò)程與結果分享如下:

  1. CW32L031與CW32L083同屬arm-cortex-M0+系列,通對比MDK下的啟動(dòng)匯編程序,發(fā)現除flsh與內存大小不同之外,中斷、外設基本差不多。因此,我只需要修改。cw32L031、startup_cw32l031_gcc.s、CW32L031_FLASH.ld這三個(gè)文件就可以了。
  2. 同時(shí)將相關(guān)的外設驅動(dòng)庫更換成cw32l031更換過(guò)來(lái)就實(shí)現了工程的移植。
  3. 在ubuntu下面還需要安裝wch-link的驅動(dòng)。

3、移植好后,修改makefile的固件名稱(chēng)、路徑就可以實(shí)現工程的編譯、下載、以及GDB調試。

結果:

  1. 編譯:
lugl@lugl-virtual-machine:~/CW32L/cw32l083_gcc$ make
[CC] Core/app/app_main.c
[CC] Core/app/interrupts_cw32l031.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_atim.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_dma.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_digitalsign.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_debug.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_rtc.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_pwr.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_systick.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_i2c.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_wwdt.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_awt.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_uart.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_rcc.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_flash.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_iwdt.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_btim.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_crc.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_lvd.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_gtim.c
[CC] Libraries/CW32L031_StdLib/src/system_cw32l031.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_adc.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_spi.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_vc.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_gpio.c
[CC] Libraries/CW32L031_StdLib/src/cw32l031_ram.c
[AS] Libraries/CMSIS/Device/startup_cw32l031_gcc.s
[LD] build_exec/template.elf
[HEX] build_exec/template.elf - > build_exec/template.hex
[BIN] build_exec/template.elf - > build_exec/template.bin
[DUMP] build_exec/template.elf - > build_exec/template.s
[SIZE] build_exec/template.elf
text data bss dec hex filename
1544 20 1572 3136 c40 build_exec/template.elf

2、下載:

lugl@lugl-virtual-machine:~/CW32L/cw32l083_gcc$ make flash
-e Start pyOCD
0000430 I Loading /home/lugl/CW32L/cw32l083_gcc/build_exec/template.elf [load_cmd]
[==================================================] 100%

3、調試:

Waiting for gdb server to start...[2023-06-25T13:04:50.107Z] SERVER CONSOLE DEBUG: onBackendConnect: gdb-server session connected. You can switch to "DEBUG CONSOLE" to see GDB interactions.
pyocd gdbserver --port 50000 --telnet-port 50001
0000446 I Target type is cw32l031c8 [board]
0000529 I DP IDR = 0x0bc11477 (v1 MINDP rev0) [dap]
0000557 I AHB-AP#0 IDR = 0x04770031 (AHB-AP var3 rev0) [discovery]
0000580 I AHB-AP#0 Class 0x1 ROM table #0 @ 0xe00ff000 (designer=43b:Arm part=4c0) [rom_table]
0000590 I [0]< e000e000:SCS v6-M class=14 designer=43b:Arm part=008 > [rom_table]
0000595 I [1]< e0001000:DWT v6-M class=14 designer=43b:Arm part=00a > [rom_table]
0000601 I [2]< e0002000:BPU v6-M class=14 designer=43b:Arm part=00b > [rom_table]
0000607 I CPU core #0 is Cortex-M0+ r0p1 [cortex_m]
0000610 I Setting core #0 (Cortex-M0+) default reset sequence to ResetSystem [pack_target]
0000616 I 2 hardware watchpoints [dwt]
0000620 I 4 hardware breakpoints, 0 literal comparators [fpb]
0000635 I Semihost server started on port 50001 (core 0) [server]
0000752 I GDB server started on port 50000 (core 0) [gdbserver]
0000757 I Client connected to port 50000! [gdbserver]
0000883 I Attempting to load RTOS plugins [gdbserver]
[---|---|---|---|---|---|---|---|---|----]
[========================================]
0001608 I Erased 0 bytes (0 sectors), programmed 0 bytes (0 pages), skipped 2048 bytes (4 pages) at 3.44 kB/s [loader]

gdb調試.png

附工程包:

*附件:cw32l030_gcc.zip

聲明:本文內容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權轉載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習之用,如有內容侵權或者其他違規問(wèn)題,請聯(lián)系本站處理。 舉報投訴
  • GCC
    GCC
    +關(guān)注

    關(guān)注

    0

    文章

    105

    瀏覽量

    24738
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    538

    瀏覽量

    29038
  • MDK
    MDK
    +關(guān)注

    關(guān)注

    4

    文章

    207

    瀏覽量

    31845
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    151

    瀏覽量

    7490
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    144

    瀏覽量

    378
收藏 人收藏

    評論

    相關(guān)推薦

    創(chuàng )建CW32L083GCC工程模板

    首創(chuàng )武漢芯源CW32L083GCC工程模版,解決官方?jīng)]有提供的用于linux、macOs下的開(kāi)發(fā)難題。
    的頭像 發(fā)表于 06-20 09:03 ?1677次閱讀

    CW32 搭建VSCODE+GCC交叉編譯環(huán)境

    在win10下面創(chuàng )建vscode+gcc開(kāi)發(fā)武漢芯源CW32L系列MCU的編譯環(huán)境
    的頭像 發(fā)表于 06-28 17:02 ?2.4w次閱讀
    <b class='flag-5'>CW</b>32 搭建<b class='flag-5'>VSCODE+GCC</b>交叉編譯環(huán)境

    Ubuntu VSCODE+GCCCW32L031實(shí)現printf工程

    CW32L031ubuntu系統下面實(shí)現GCC,驅動(dòng)UART,實(shí)現printf工程
    的頭像 發(fā)表于 06-28 17:07 ?710次閱讀
    【<b class='flag-5'>Ubuntu</b> <b class='flag-5'>VSCODE+GCC</b>】<b class='flag-5'>CW32L031</b>實(shí)現printf<b class='flag-5'>工程</b>

    Ubuntu VSCODE+GCCCW32L031實(shí)現UART控制LED

    ubuntu系統下面使用vscode 使用串口驅動(dòng)實(shí)現對板載LED燈的控制。
    的頭像 發(fā)表于 06-28 17:10 ?599次閱讀
    【<b class='flag-5'>Ubuntu</b> <b class='flag-5'>VSCODE+GCC</b>】<b class='flag-5'>CW32L031</b>實(shí)現UART控制LED

    Ubuntu VSCODE+GCCCW32L031驅動(dòng)sht30

    CW32L031ubuntu下面,使用VSCODE+gcc實(shí)現對sht30溫濕計的驅動(dòng)
    的頭像 發(fā)表于 06-28 17:12 ?2.3w次閱讀
    <b class='flag-5'>Ubuntu</b> <b class='flag-5'>VSCODE+GCC</b>】<b class='flag-5'>CW32L031</b>驅動(dòng)sht30

    武漢芯源CW32L031實(shí)現超遠距離超低耗無(wú)線(xiàn)采集

    武漢芯源的CW32L031實(shí)現超低功耗無(wú)線(xiàn)溫濕度采集,可實(shí)現在電池供電下,十年的工作時(shí)間。
    的頭像 發(fā)表于 06-30 16:03 ?2.2w次閱讀
    武漢芯源<b class='flag-5'>CW32L031</b>實(shí)現超遠距離超低耗無(wú)線(xiàn)采集

    【產(chǎn)品介紹】32位低功耗MCU CW32L031系列產(chǎn)品介紹

    Cortex-M0+低功耗MCU CW32L031系列型號展示武漢芯源半導體32位低功耗CW32L031系列集成了主頻可達48MHz的ARM Cortex?-M0+ 內核,最大64K字節FLASH
    發(fā)表于 09-16 10:30

    N32G031系列GCC開(kāi)發(fā)環(huán)境應用筆記分享

    本文以 N32N031 系列 MCU 為例,介紹了在 Windows 環(huán)境基于 vscode 編輯器、GCC 編譯工具鏈和 GDB 調試
    發(fā)表于 11-02 07:20

    首創(chuàng )CW32L083GCC工程模版

    的啟動(dòng)文件跟LD應該可以相互借鑒。所以?xún)斣囆薷?b class='flag-5'>CW32F030的工程來(lái)實(shí)現GCC工程。 【實(shí)現步驟】 1、拷貝一份工程,另存為
    發(fā)表于 06-19 22:17

    ubuntu環(huán)境安裝wch-link實(shí)現固件下載

    到wch-link已經(jīng)被識別了: lugl@lugl-virtual-machine:~/CW32L/cw32l083_gcc$ pyocd list #Probe/Board Unique IDTarget
    發(fā)表于 06-25 20:04

    ubuntu下面用vscdoe實(shí)現CW32L031工程創(chuàng )建、編譯、下載調試

    目前官方提供CW32L083只提供了MDK、IAR的固件庫、啟動(dòng)文件。我有過(guò)成功CW32L083的項目移植的經(jīng)驗,現在成功的把CW32L031
    發(fā)表于 06-25 21:13

    CW32L031產(chǎn)品介紹

    CW32L031是一款基于eFlash的單芯片低功耗微控制器,集成了ARM?Cortex?-M0+ 核心,主頻高達48MHz,高速嵌入式存儲器(高達64KB的FLASH和 高達8K字節的SRAM
    發(fā)表于 09-14 06:02

    CW32L031微控制器數據手冊

    CW32L031 是基于 eFlash 的單芯片低功耗微控制器,集成了主頻高達 48MHz 的 ARM? Cortex?-M0+ 內核、高速嵌入式存儲器(多至 64K 字節 FLASH 和多至 8K
    發(fā)表于 09-14 08:26

    CW32L031用戶(hù)手冊

    CW32L031核心是32位ARM?Cortex?-M0+微處理器,最大尋址空間為4GB。芯片的內置程序存儲器、數據存儲器、外圍設備和端口寄存器是統一的在相同的4GB線(xiàn)性地址空間中尋址。 內存中
    發(fā)表于 09-14 07:09

    CW32L031 StartKit軟件包

    CW32L031 StartKit 軟件包
    發(fā)表于 09-15 07:58
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看