芯科蓝牙BG27开发笔记6-精简第一个程序

1. 这些IO的控制代码在哪里?

还是蓝牙点灯程序:

首先需要对pinout做一些精简:

芯科蓝牙BG27开发笔记6-精简第一个程序_第1张图片

为了简化工程,去掉了不必要的IO。

至于PTI接口是什么,怎么用,不知道,现在不考虑:

芯科蓝牙BG27开发笔记6-精简第一个程序_第2张图片

但是提出以下问题:

1. uart为什么要使能?该使能代码在何处?

2. 一个点灯程序与flash有什么关系?这很多余吗

3. 下图,这些配置是哪里来的?进入编辑实际上是进入了软件组件的设置?实现的机制?进而如何自定义软件组件?

芯科蓝牙BG27开发笔记6-精简第一个程序_第3张图片

芯科蓝牙BG27开发笔记6-精简第一个程序_第4张图片

芯科蓝牙BG27开发笔记6-精简第一个程序_第5张图片

以上问题,综合考虑:

提到最后一个问题的时候,第一个问题就很容易了,只需要修改UI配置,即可用差分工具看到修改了何处,Flash的CS和UART的使能都是bsp代码的一部分,做成了一个软件模块,对应了一些驱动代码:

sl_system_init(); -> ->

sl_service_init(); -> ->

sl_board_configure_vcom(); -> ->

sl_board_enable_vcom(); -> ->

GPIO_PinModeSet(SL_BOARD_ENABLE_VCOM_PORT, SL_BOARD_ENABLE_VCOM_PIN, gpioModePushPull, 1);

源码地址:

芯科蓝牙BG27开发笔记6-精简第一个程序_第6张图片

 至于uart使能就是必须的,因为中间的模拟开关必须打开:

芯科蓝牙BG27开发笔记6-精简第一个程序_第7张图片

“Disable SPI Flash”是否一定要选择?看下原理图:

芯科蓝牙BG27开发笔记6-精简第一个程序_第8张图片

芯科蓝牙BG27开发笔记6-精简第一个程序_第9张图片

这个flash是在蓝牙主板上,所以需要考虑一些IO复用的问题,芯科这套开发板有个特点就是,能用软件选通的地方绝不用硬件跳线,能加模拟开关他就使劲加!下图也有说明,说是为了省电……原理图默认上拉,所以代码就没必要控制了。

仅仅去掉此IO的配置,编译出错,似乎要卸载该驱动:

芯科蓝牙BG27开发笔记6-精简第一个程序_第10张图片

然而,上图这个驱动无法卸载!!可能是因为有其他模块依赖他。

那就删除整个board contrl,自己手动添加使能uart模拟开关的代码。不过前级依赖很多,不可能删除了。只能单独修改代码?

该代码不是自动生成的而是sdk代码,可以直接修改,此处只需要在工程目录不包含即可。

芯科蓝牙BG27开发笔记6-精简第一个程序_第11张图片

芯科蓝牙BG27开发笔记6-精简第一个程序_第12张图片

还是有报错:

目前不知道CATALOG组件是什么,直接修改sdk的sl_board_init.c文件去掉此错误。

2. SWO代码如何精简干净?

芯科蓝牙BG27开发笔记6-精简第一个程序_第13张图片

SWO的IO很容易去掉,但是这些代码怎么清楚?点击卸载是不行的,前级的依赖也无法删除,此处,还是要搞清楚这个IDE的软件模块、UI的机制才行

3. 其他配置警告

芯科蓝牙BG27开发笔记6-精简第一个程序_第14张图片

你可能感兴趣的:(Silicon,labs蓝牙开发,笔记)