平头哥剑池CDK教程——组件的配置

在CDK的workspace中,我们有一个组件工程,接下来会将每个组件的组件配置详细讲解一下。

 首先,最简单的配置是我们的common类型的组件,我们右击common类型的组件,选择option for wn_console

 

 我们可以看到任何一个common类型的组件都包含四个部分,分别是base,compiler,assembler和linker

首先,我们可以看到base界面,是配置组件基本信息的描述。

compiler是配置组件编译当前组件C文件的一些选项,其中包含两个大的部分,一个是global config,另一个是local config

其中,global config是用来配置所有组件的编译选项,也就是说,这里配置的选项会影响代码的编译,其中包含了define选项,也就是我们编译的宏,以及include选项

local config选项的配置只对当前组件的源代码有效果,包含了define选项以及组件编译常用到的调试信息,优化选项以及一些其他的配置选项。

界面没有的选项可以在other flags里面去增加需要的选项配置

Assembler选项只包含了一个global config的选项,他可以配置调试信息的格式以及,他的配置是用来编译汇编文件的

linker选项是用来配置组件包含的一些库,在linker选项中可以配置库的名称以及库的路径,那么会把组件包含的库链接到最终生成的镜像文件中

开发板的组件配置如下,我们点击开发板组件右击option for danica evb

可以看到它与common组件的tag是类似的,base的tag和assembler的tag与common组件是一样的,区别在于compiler的local config配置只包含了define和include,其他的配置内容和common是一样的。

linker选项相比于common组件的linker多了一个general的选项,他是用来配置我们工程中所使用到的链接描述脚本,也可以在其他地方配置这种脚本

芯片组件的配置入口如下所示

芯片组件的配置与开发板组件的配置相比的话,base,compiler和assembler是一致的,linker与common组件的配置是一致的。

芯片组件会多一个info的tag,是用来配置我们CPU的信息,我们的芯片组件是可以配置成单核和多核两种方式,每一种芯片的配置信息包含我们的芯片的CPU型号。

link file是和我们的开发板组件配置是一样的,都是指定我们程序的链接描述脚本,如果我们的开发板配置了脚本,那么,我们这里芯片组件link file的配置将会无效,会被覆盖掉。

 

算法选项的话是用来配置我们的flash烧写

 方案组件的配置入口如下

 solution组件的base、assembler、compiler和linker的配置选项与芯片组件配置是类似的,这里还多了tager、output、user和flash配置选项,这些配置与我们工程的一些配置有关

我们发现,每一个组件都可以配置base、assembler、compiler和linker的配置选项,那么在我们的编译中,是有优先级的顺序,solution的配置选项优先级>board的配置选项优先级>chip的配置选项优先级>common的配置选项优先级。

那么,我们可以看到,对于一个全局配置的选项来说,会根据我们这种规则去判断其有效性,比如说,我们在方案组件的global config中配置了CONFIG_CHIP_DANICA这个宏

如果在我们的common组件中也配置了一个这样的宏,这个宏虽然值不一样,当时由于优先级的关系,这个宏CONFIG_CHIP_DANICA的有效值为1,而不是为0。所以根据优先级的顺序的话,建议一下common常用的配置都放到solution中,跟开发板严格相关的会放在开发板中,同理,芯片严格相关的会放在芯片中,与硬件和方案无关的一些配置可以放在一个具体的common组件中。

参考视频:

https://www.bilibili.com/video/BV1gA411K7Qr?p=4&vd_source=77c874a500ef21df351103560dada737

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值