打印
[N32G45x]

国民技术单片机跑C++

[复制链接]
982|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 大道至简 于 2022-4-26 16:29 编辑

国民技术单片机跑C++

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

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

有图有真相。上图


为了今后做项目方便我做了一个c++/RTOS的框架,框架里面有一大堆常用的c++代码

模块里面有依赖于具体单片机的模块,比如GPIO.cpp   uart\timer\pwm等模块

还有不依赖于具体单片机的模块,比如crc16  crc32  base64  字符串拆分库等

配置一下编译环境





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








Rebuild started: Project: ***
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'N32G45x'
assembling startup_n32g45x.s...
compiling RTX_Conf_CM.c...
compiling SEGGER_RTT_printf.c...
compiling SEGGER_RTT.c...
compiling n32g45x_it.c...
compiling system_n32g45x.c...
compiling misc.c...
compiling n32g45x_dac.c...
compiling n32g45x_can.c...
compiling n32g45x_dma.c...
compiling n32g45x_comp.c...
compiling n32g45x_crc.c...
compiling n32g45x_dbg.c...
compiling n32g45x_adc.c...
compiling n32g45x_bkp.c...
compiling n32g45x_flash.c...
compiling n32g45x_i2c.c...
compiling n32g45x_gpio.c...
compiling n32g45x_exti.c...
compiling n32g45x_dvp.c...
compiling n32g45x_opamp.c...
compiling n32g45x_pwr.c...
compiling n32g45x_iwdg.c...
compiling n32g45x_rcc.c...
compiling n32g45x_rtc.c...
compiling n32g45x_qspi.c...
compiling n32g45x_tsc.c...
compiling n32g45x_wwdg.c...
compiling n32g45x_spi.c...
compiling n32g45x_usart.c...
compiling GuoMing_public_HAL.cpp...
compiling GPIO.cpp...
compiling PWM_tim1.cpp...
compiling n32g45x_tim.c...
compiling PWM_tim4.cpp...
compiling PWM_8X.cpp...
compiling n32g45x_sdio.c...
compiling basic_data_stru.cpp...
compiling crc32.cpp...
compiling smart_binary_buffer.cpp...
compiling base64.cpp...
compiling crc16.cpp...
compiling HRect.cpp...
compiling HPoint.cpp...
compiling count_choice_n.cpp...
compiling RangeInt.cpp...
compiling prime487.cpp...
compiling HPointDouble.cpp...
compiling main.cpp...
compiling Task_PWM.cpp...
compiling led_blink.cpp...
linking...
Program Size: Code=23126 RO-data=614 RW-data=192 ZI-data=15376  
FromELF: creating hex file...
".\Objects\***.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:10
编译成功,哈哈
后面的任何项目,只要继续在这上面摸爬滚打,就可以诞生无数项目了
我最多用c++做了 30000+ 行的源代码(用的是更大flash的单片机),稳定性杠杠的。



1650959729327.jpg (476.47 KB )

1650959729327.jpg

使用特权

评论回复
沙发
WoodData| | 2022-5-30 22:18 | 只看该作者
学习一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

7556

主题

9507

帖子

18

粉丝