您尚未登录。

楼主 # 2024-04-01 14:35:35

tomas
会员
注册时间: 2024-03-26
已发帖子: 13
积分: 96

D2X怎么构建自己的工程?

通过scons --add-board可以从接近的模板中构建自己的模板工程。但下一步要怎么做,毕竟模板工程只是第一步。
1-从menuconfig中开通,关闭本地组件,在线组件,这个很方便。

2-如果需要加入用户自己的app或文件,应该是也要通过menuconfig而不会是在IDE里面强加,不然构建刷新的话,自己的app文件和设置也就没有了。是不是
需要自行编写相应的构建脚本文件?

3-关于GPIO,通过menuconfig,可以配置I2C,CAN这些外设的IO口,并在pinmux.c文件中有体现。但如果是通用IO口,比如就是个LED灯,同时也想在pinmux文件中做统一配置,这时候咋办?

还有个问题是关于eclipse开发的。
通过:scons --target=eclipse_sdk,可以生成完整的eclipse工程,在ide环境下,实测发现:
如果是导入工程并拷贝到本地workspace,这时候eclipse编译速度尚可。但如果是仅是导入而不拷贝,eclipse很容易假死。
另外,如果所构建的工程通过scons --target=eclipse_sdk重新构建后,已有的eclipse工程不会同步更新,因为老工程已经拷贝到本地workspace了。这时候咋办。
后来通过eclipse open projects from file system方式直接使用output文件夹下的eclipse工程,工程重构后,ide里面刷新后确实能自动更新,但还是存在编译速度非常慢的问题。
这一问题小结一下就是:ide只有把构建的工程导入且拷贝到其自己的workspace,编译速度会好一些,但工程重构后,老工程会得不到同步更新。

离线

#1 2024-04-10 20:44:48

shenyebuwu
会员
注册时间: 2024-04-10
已发帖子: 1
积分: 1

Re: D2X怎么构建自己的工程?

楼主用的是RTOS的SDK吗

离线

#2 2024-05-18 17:01:29

yuyu35
会员
注册时间: 2020-05-07
已发帖子: 3
积分: 3

Re: D2X怎么构建自己的工程?

留个记号,方便后期来查看!同研究如何新建一个工程、重新编写一个bootloader

离线

#3 2024-05-18 22:16:34

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 527
积分: 648
个人网站

Re: D2X怎么构建自己的工程?

_20240518_220850.png
_20240518_221142.png
_20240518_221200.png
_20240518_220928.png

测试了下,通过“Existing Code as Makefile Project”导入,并如上图配置构建。

一个完整的构建耗时10秒左右,可以接受。

离线

#4 2024-05-18 23:18:52

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 527
积分: 648
个人网站

Re: D2X怎么构建自己的工程?

不过上述方法有个大问题,因为很多编译相关的宏没有设置,导致工程里的很多符号没有被eclipse识别,这样写代码时很多东西不能自动补全,极不方便。

另一方面,按理来说,重复执行 scons --target=eclipse_sdk 后eclipse应该可以自动更新工程,并且应该不会的编译问题才对。

另一种工程管理方法:用VS Code配合bear(https://github.com/rizsotto/Bear)工具就可以检索复杂工程,用法如下:

* 先安装好bear工具,ArchLinux系统可以直接安装:sudo pacman -S bear
* 配合bear构建工程来生成clang的检索文件compile_commands.json:bear -- scons -j16
* 然后使用VS Code打开工程的文件夹即可,此时所有编译时用到的文件内的符号都能自动补全
* 工程因menuconfig更新后,需要重新执行第2部的bear构建来更新检索文件

最近编辑记录 海石生风 (2024-05-18 23:27:23)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn