不出所料,这个没有办法编译,
首先是确sdk库,但是下面直接加目录的方法不行,重启后就又消失了
这个是在项目setting里面启动的
这个应该从General的Product里面添加,直接选就可以
3 用sysconfig定义板卡,也就是其他工程中的bsp,这可以看作是一个bsp生产工具,启动之
首先需要添加板卡,直接点add把在前面的设定板卡加入,注意如果是自定义板卡,后面有个switch功能,可以一键转换
添加GPIO,这个就会自动把关联的sysctl功能添加
对照这个开发板的led三色灯对应的Pin,以此修改,可以看到右侧PA13,PA26,PA27在变换后都变了色,绿色就说明没有冲突,pass
逐个设置好,还可以同时设置时钟树等,如果涉及其他功能如OPG等都要对着手册修改好,其中ADC0和Pin27冲突,这里选择不了的。
点击保存,就是保存sysconfig设定文件,注意要选择合适的文件名,自定义为xTerm.cfg
起始到这里就可以了,因为这个sysconfig文件可以直接在工程中使用,也不需要生产文件,可以在编译的过程中加入对这个文件的编译生成过程,完全不需要开发者参与,不过,起始最后只需要两个文件,一个头文件,一个c程序文件,如右侧所示,直接点击保存,选好地方保存就行了。那个dot文件是事件文件,因为这里没有用,就不要了。
4 添加include目录,就是如下的SDK中没有完全加入的,还需要再include中添加
这下完整了,可以顺利通过编译了。
5 然鹅,还是有幺蛾子。
因为开发的过程,需要直接调用底层的systick,是delay_cycles()命令,TI做了一个二进制编码库driverlib.a
然鹅,还是然鹅,你没有文件说,我从哪里知道你要用这个lib库呢。
6 编译下载,使用的是debugg,在找硬件并设定成功
完工,彩色亮灯代码如下,
/**
* main.c
*/
#include "ti_msp_dl_config.h"
int main(void)
{
/* Power on GPIO, initialize pins as digital outputs */
SYSCFG_DL_init();
/* Default: LED1 and LED3 ON, LED2 OFF */
DL_GPIO_clearPins(GPIO_GRP_0_PORT, GPIO_GRP_0_PIN_LED_0_PIN);
DL_GPIO_setPins(
GPIO_GRP_0_PORT, GPIO_GRP_0_PIN_LED_1_PIN | GPIO_GRP_0_PIN_LED_2_PIN);
while (1) {
/*
* Call togglePins API to flip the current value of LEDs 1-3. This
* API causes the corresponding HW bits to be flipped by the GPIO HW
* without need for additional R-M-W cycles by the processor.
*/
delay_cycles(10000000);
DL_GPIO_togglePins(GPIO_GRP_0_PORT, GPIO_GRP_0_PIN_LED_0_PIN |
GPIO_GRP_0_PIN_LED_1_PIN |
GPIO_GRP_0_PIN_LED_2_PIN);
}
return 0;
}
还是阔以的。
7 补个彩蛋,基于云端的GUI composer的使用,前面没有连接上,现在可以了。首先找到CCS cloud上的out-of-box代码,其实本地就有,这样就是很云端的样子
编译下载,其实和本地安装的CCS没啥区别,这个是debugg的页面
启动网页版的GUI,显示waiting data,这个会永远等下去,因为永远没有数据来
除非改邪归正,但是这个端口是联通的,可以直接在网页load二进制文件并下载到板卡,明显connected连上了
原因在这里,模拟出2个串口,现在自动练了辅助端口,虽然排名在前面,那也是辅助端口。
需要改用那个主端口,并设为115200。然后可以真正通讯了,在blinkLED上,设置频率,现在是灯亮的时候,绿色。这个button和板子上的led同步
照度传感器的读数也反馈出来,不过有些奇葩是波动的,难道是测出来日光灯管的闪烁了吗?
温度传感器也反馈出一个周期性波动的数字,不过区间波动,说明温度还是稳的。
那么这里面的关键就是这个插件,承包了了网页Javascript和主机串口直接的数据通讯。
8 结论
这个开发板,直接提供了一个快乐的全面开发平台,
- 从云端工具到本地开发,丰俭由人,
- 范例过量以至于都不想自己写代码了,稍微改一下就可以直接用在工程中,
- 内存不大,肚子不小,可以跑起来FreeRTOS,并配套TI的电机驱动芯片,直接实现友商的高性能BLDC电机控制,
- 支持自定义网页会话,曲线实现单片机的UI交互,脑子很不错。
所以,这个开发板不是一个开发板。而是一个超值的生态。