[N32G45x] 国民技术单片机跑C++

[复制链接]
1169|1
 楼主| 大道至简 发表于 2022-4-26 16:25 | 显示全部楼层 |阅读模式
本帖最后由 大道至简 于 2022-4-26 16:29 编辑

国民技术单片机跑C++

做了个项目,原来在别家单片机上运行c++代码,很稳定。估计国产单片机也ok。因为单片机并不知道代码是c写的还是C++写的。它只管执行。

c++的好处:
  • 模块化会非常好
  • 软件可以做很庞大
  • 稳定性不比c语言的差
缺点:
  • 内存消耗估计要大10%~20%,但是现在单片机内存都比较大了,这个好像不是问题

有图有真相。上图
1650959729316.jpg

为了今后做项目方便我做了一个c++/RTOS的框架,框架里面有一大堆常用的c++代码
c7a2c0f87896e4d18be79bc38d1d1dd4-81030.png
模块里面有依赖于具体单片机的模块,比如GPIO.cpp   uart\timer\pwm等模块
112.png
还有不依赖于具体单片机的模块,比如crc16  crc32  base64  字符串拆分库等
111.png
配置一下编译环境
115.png

114.png

113.png
一顿骚操作后,开始编译这个框架一顿骚操作后,开始编译这个框架一顿骚操作后,开始编译这个框架一顿骚操作后,开始编译这个框架一顿骚操作后,开始编译这个框架一顿骚操作后,开始编译这个框架一顿骚操作后,开始编译这个框架一顿骚操作后,开始编译这个框架一顿骚操作后,开始编译这个框架








Rebuild started: Project: ***
  1. *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
  2. Rebuild target 'N32G45x'
  3. assembling startup_n32g45x.s...
  4. compiling RTX_Conf_CM.c...
  5. compiling SEGGER_RTT_printf.c...
  6. compiling SEGGER_RTT.c...
  7. compiling n32g45x_it.c...
  8. compiling system_n32g45x.c...
  9. compiling misc.c...
  10. compiling n32g45x_dac.c...
  11. compiling n32g45x_can.c...
  12. compiling n32g45x_dma.c...
  13. compiling n32g45x_comp.c...
  14. compiling n32g45x_crc.c...
  15. compiling n32g45x_dbg.c...
  16. compiling n32g45x_adc.c...
  17. compiling n32g45x_bkp.c...
  18. compiling n32g45x_flash.c...
  19. compiling n32g45x_i2c.c...
  20. compiling n32g45x_gpio.c...
  21. compiling n32g45x_exti.c...
  22. compiling n32g45x_dvp.c...
  23. compiling n32g45x_opamp.c...
  24. compiling n32g45x_pwr.c...
  25. compiling n32g45x_iwdg.c...
  26. compiling n32g45x_rcc.c...
  27. compiling n32g45x_rtc.c...
  28. compiling n32g45x_qspi.c...
  29. compiling n32g45x_tsc.c...
  30. compiling n32g45x_wwdg.c...
  31. compiling n32g45x_spi.c...
  32. compiling n32g45x_usart.c...
  33. compiling GuoMing_public_HAL.cpp...
  34. compiling GPIO.cpp...
  35. compiling PWM_tim1.cpp...
  36. compiling n32g45x_tim.c...
  37. compiling PWM_tim4.cpp...
  38. compiling PWM_8X.cpp...
  39. compiling n32g45x_sdio.c...
  40. compiling basic_data_stru.cpp...
  41. compiling crc32.cpp...
  42. compiling smart_binary_buffer.cpp...
  43. compiling base64.cpp...
  44. compiling crc16.cpp...
  45. compiling HRect.cpp...
  46. compiling HPoint.cpp...
  47. compiling count_choice_n.cpp...
  48. compiling RangeInt.cpp...
  49. compiling prime487.cpp...
  50. compiling HPointDouble.cpp...
  51. compiling main.cpp...
  52. compiling Task_PWM.cpp...
  53. compiling led_blink.cpp...
  54. linking...
  55. Program Size: Code=23126 RO-data=614 RW-data=192 ZI-data=15376  
  56. FromELF: creating hex file...
  57. ".\Objects\***.axf" - 0 Error(s), 0 Warning(s).
  58. Build Time Elapsed:  00:00:10
编译成功,哈哈
后面的任何项目,只要继续在这上面摸爬滚打,就可以诞生无数项目了
我最多用c++做了 30000+ 行的源代码(用的是更大flash的单片机),稳定性杠杠的。

spacex005.jpg

1650959729327.jpg
WoodData 发表于 2022-5-30 22:18 | 显示全部楼层
学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:看大道至简所著的《感悟设计》,感悟设计的至简大道

7563

主题

9527

帖子

18

粉丝
快速回复 在线客服 返回列表 返回顶部