在190小红板上实现Trochili平台上的RFID
GD32
8954 人阅读
|
21 人回复
|
2016-05-02
TA的每日心情 | 开心 2018-11-19 09:39 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
举人
- 积分
- 539
|
本帖最后由 火oooo 于 2016-5-2 19:56 编辑
其实早在1年前有机会得到一块GD23F103的板子,但一直没得机会玩起来。后来有机会遇到留虚名老师,得以了解Trochili,这才又开始重新审视GD32。由于时间上的冲突,之前的GD几次活动没能赶上,所以就非常珍视这次190的小红板,而且得到论坛xinxin、飞飞的支持,终于如愿得到期待已久的小红板,再次感谢xinxin、飞飞和留虚名老师。
这次使用小红板主要实现的目标有2个:1. 在190平台上深入理解trochili;2. 基于1实现RFID的读卡系统。
因为本彩笔是系统白,故前面会更新的较慢,但会以新人的视角来理解Trochili,并把过程完全的分享给关注本帖的大家,谢谢大家的关注。 |
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2018-11-19 09:39 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
举人
- 积分
- 539
|
沙发
火oooo
发表于 2016-5-2 16:44:10
|
只看该作者
焊好排针的小红板
本帖最后由 火oooo 于 2016-5-5 08:04 编辑
开箱帖什么的,因为有大大会秀出,所以咱渣的拍照技术就不丢人了。
这里只把焊好排针的小红板秀一下
有条尾巴?那是错觉,其实是条手挽带,请看下图
|
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2018-11-19 09:39 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
举人
- 积分
- 539
|
板凳
火oooo
发表于 2016-5-2 16:44:47
|
只看该作者
1. Trochili系统部分
本帖最后由 火oooo 于 2016-5-2 20:28 编辑
拿到小红板时激动的心情简直是无法用心情来形容,但是还没来得及激动多久,心情就一下子冷了下来……因为插上电后看着闪烁的灯,茫然了,不知所措……接下来做什么?怎么做?自己犹如深处浓雾之中的独身旅人
在不知所措中试着打开飞鸟哥亲情奉献的例程“trochili_v0.12_preview4_20160408”,试着编译一下。30个错误,一下子蒙了。看下提示信息,都是core_cmInstr.h 文件无法打开,终于知道在包含文件中此文件的路径有误,修改为“d:\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include”,解决,编译通过。
debug工具选择的是“CMSIS-DAP Debugger”,其它默认,download成功,又可以看到闪烁的灯。虽然这次的闪灯跟刚拿到板子时的情况是一样的,但心情却不一样了,因为对于Trochili终于踏出了第一步。
接下来,看到例程中有多个example,想逐个尝试一下,看下有什么不同的效果……but……该怎么改?
看书,看飞鸟哥的《嵌入式实时操作系统原理与最佳实践》(注:请在论坛上查找最新的电子版,机械工业版的与最新的例程有出入),查找程序的入口,终于看到在每个example中都有类似的一句“#if (EVB_EXAMPLE == CH13_BOARD_TEST_EXAMPLE)”,结合“example.h”文件中的“#define EVB_EXAMPLE CH13_BOARD_TEST_EXAMPLE”一句,理解到把此句更换为需要测试的例子就好。比如想要测试线程的话,就更改为“#define EVB_EXAMPLE CH2_THREAD_EXAMPLE1”,在编译,下载后可以看到板上的LD4、LD5、LD6依次亮、灭。而后面的2~7现象依次是
2:LD5亮、灭;
3:LD5亮、灭;
4:LD5亮、灭;
5:LD5亮、灭;
6:LD5、LD6依次亮、灭2次;
7:LD5亮、灭。这是直观的小红板的表现,对于程序的解读,在后面会再深入。而其它的example后面会再进行测试。
|
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2018-11-19 09:39 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
举人
- 积分
- 539
|
地板
火oooo
发表于 2016-5-2 20:00:18
|
只看该作者
本帖最后由 火oooo 于 2016-5-5 08:10 编辑
由于3楼不知为何不能写入,所以先把预留给RFID应用的这层给占了吧。
接着说CH2_THREAD_EXAMPLE1,也就是thread_init.c这个文件。这个应用(称这个为应用不知合适不合适,还请飞鸟哥指正,谢谢)现象大家都还记得是什么吧?就是3颗led依次亮灭。
在程序中我们可以看到这样一段代码:
delay(0x8FFFFF);
EvbLedControl(LED1, LED_ON);
delay(0x8FFFFF);
EvbLedControl(LED1, LED_OFF);
delay(0x8FFFFF);
EvbLedControl(LED2, LED_ON);
delay(0x8FFFFF);
EvbLedControl(LED2, LED_OFF);
delay(0x8FFFFF);
EvbLedControl(LED3, LED_ON);
delay(0x8FFFFF);
EvbLedControl(LED3, LED_OFF);
是不是觉得很熟悉?这就是我们看到的led亮灭的对应部分。亮的时间由延时函数delay的参数决定。而这段代码存在于static void ThreadLedEntry(TArgument data)这个入口函数中。所以现在我们来看一下这个应用thread_init.c的整体结构:
1. 包含头文件
2. 预编译开关
3. 三个参数 设定栈长宽字节、优先级字节、时间片字节的长度
4. 定义线程
5. 定义线程栈
6. 定义线程入口函数 线程的主要功能在这里实现。static void ThreadLedEntry(TArgument data)函数就在这个位置
7. 定义应用入口函数 系统调用此应用,从而对线程进行处理
8. 定义main函数
这个结构在后续的程序分析中我们再逐个印证。
|
|
|
|
|
|
|
|
|
TA的每日心情 | 怒 2021-12-7 12:35 |
|---|
签到天数: 1354 天 连续签到: 1 天 [LV.10]以坛为家III
状元
- 积分
- 9907
|
5#
jwdxu2009
发表于 2016-5-2 22:26:25
|
只看该作者
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 4 小时前 |
|---|
签到天数: 4355 天 连续签到: 15 天 [LV.Master]伴坛终老
状元
- 积分
- 3029
    

|
6#
toofree
发表于 2016-5-4 09:51:10
|
只看该作者
焊出线想做什么,不弄GD32F190,而是直接把板载调试器的GD32F103当普通功能用?
这样用应该也是可以的,多一个USB口,3.3V IO电平,引出线外挂调试器。 |
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2018-11-19 16:39 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
超级版主
- 积分
- 2830
|
7#
糖悦之果飞
发表于 2016-5-4 10:20:22
|
只看该作者
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2018-11-19 09:39 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
举人
- 积分
- 539
|
8#
火oooo
发表于 2016-5-5 06:58:37
|
只看该作者
toofree 发表于 2016-5-4 09:51 ![]()
焊出线想做什么,不弄GD32F190,而是直接把板载调试器的GD32F103当普通功能用?
这样用应该也是可以的,多 ...
楼上说的是。我有强迫症。自从我的V7的JLink不能用之后,一直使用nucleo的stlink作为调试工具用。GD这个虽然还不太清楚,但还是被我先引出来了,后面用到再说。
|
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2018-11-19 09:39 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
举人
- 积分
- 539
|
9#
火oooo
发表于 2016-5-5 07:46:11
|
只看该作者
糖悦之果飞 发表于 2016-5-4 10:20 ![]()
文章不错,请内容去经验频道一并发一下,可以有双重奖励哟http://jingyan.eeboard.com/ ...
请问飞飞,一个楼层里能写多少字?我现在编辑3楼时,无法写入。
|
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2018-11-19 09:39 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
举人
- 积分
- 539
|
jinglixixi 发表于 2016-5-3 14:59 ![]()
感谢分享,初次使用时确实关心的是编译环境的建立与下载。随后就是你玩转示例并改为自己需要的功能。 ...
同意楼上。小白的经历咱都有过,特别是一些非常小的细节可能都会阻挡相当一部分人继续深入下去,所以我想把我遇到的问题跟大家分享出来,这样至少有同样情况的人可以顺利过去了。
|
|
|
|
|
|
|
|
|