查看: 3710|回复: 8

[原创] CMSIS-RTOS 之万利K64开发板的第二次尝试 - mBed

[复制链接]

该用户从未签到

17

主题

66

帖子

0

中级会员

Rank: 3Rank: 3

积分
280
最后登录
2016-7-30
发表于 2015-11-28 20:52:46 | 显示全部楼层 |阅读模式
本帖最后由 xixixihaha 于 2015-11-28 20:57 编辑

前两天开始尝试在万利K64开发板上跑CMSIS-RTOS,今天来更新下新的尝试。上次谈到ARM的策略是开放、标准化,推出了CMSIS-RTOS。其实ARM还推出了一个很牛X的在线开发平台-mBed
基于该平台,开发者可以在线开发程序,所有的开发代码存放在云端,编译在云端,有版本管理,缺省代码放在用户自己的私有空间里,同时代码也可以分享给其他用户。更为方便的是,可以参考和使用其他开发者所开发的代码。开发者可以不用关心低层技术实现细节,编译的代码可以直接下载烧到目标板运行即可。

抛开代码效率等不说,mBed平台很类似于Arduino的开放,共享思路,很看好它的长期发展。
目前mBed 有两个大的问题,第一个是只支持有限的几种开发板,第二个是不支持在线调试。
第二个问题比较简单,可以选择Export项目把所有代码下载到本地,然后编译调试即可。
第一个问题有点麻烦,因为对于开发板部分代码,ARM是以board.o 的方式提供代码供编译。例如,设置通过串口输出打印信息的代码。应该就在这个库里面。当使用非标准的开发板的时候,就会执行不正常了。
参加ARM Tech Symposia 2015的时候,和ARM mBed平台工程师交流过这个问题,他们说目前平台还在不断完善中,估计到2016Q3的时候可能会出好一些的解决方案。 啊 2016Q3 哥哪等的起啊?现在就想玩!
我一直在用Freescale 给的万利K64开发板做些尝试,怎么能使用mBed编写出万利K64可以使用的代码呢? 现在!! 不是明年。

解决方法今天想了下,也不是没办法,其实很简单--就是把板子重新初始化一下。这样mBed的上层代码执行的过程中不知道底层已经变化,会直接使用重新初始化过的设备。问题也就解决啦
以CMSIS—RTOS为例,我们来跑一遍。让mBed代码可以跑在万利K64开发板上
打开http://developer.mbed.org
首先创建工程,选择RTOS模板
Screen Shot 2015-11-28 at 3.50.16 PM.png
然后将代码下载到本地
Screen Shot 2015-11-28 at 3.55.38 PM.png

Screen Shot 2015-11-28 at 4.39.43 PM.png
选择Export 后 mBed平台会把所有代码打包,下载到一个zip文件中。展开zip 文件,用Keil打开
选择main.c文件 在开头加入如下几行,重新初始化Console输出口定义
PORTA_PCR1 = (PORTA_PCR1 & 0xFFFFF8FF)| 0x200;
PORTA_PCR2 = (PORTA_PCR2 & 0xFFFFF8FF)| 0x200;
然后打开文件 PinNames.h
修改如下几行
LED_RED   = PTB4,  
LED_GREEN = PTB5,
LED_BLUE  = PTB6,


SW2 = PTB21,
SW3 = PTB22,


USBTX = PTA2,
USBRX = PTA1,


这三部分代码分别对应于万利K64 开发板的 LED灯,按键和 Console输出

编译,下载
Dock上的LD5 红色灯应该会开始闪烁,反复按几次K1 按键, 串口是不是会打印出
SW2 was pressed (last 5 seconds): 12
注意;串口速率需要设置为 9600bps

再说说RTOS问题,没跑题,这个是基于CMSIS-RTOS的演示哈,
LED 由LED thread控制闪烁  每秒闪烁一次
按键由Button Thread计数
主线程向串口输出最近5秒的按键计数并清除计数

三线程同时工作,容易吧?

最后送个福利,Youtube下载的mBed 平台演示



回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16699
    最后登录
    1970-1-1
    发表于 2015-11-28 21:14:53 | 显示全部楼层
    多谢分享
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-8-30 16:02
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    36

    主题

    1065

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1851
    最后登录
    2019-11-19
    发表于 2015-11-28 22:01:27 | 显示全部楼层
    mark一下
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

    该用户从未签到

    61

    主题

    965

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2394
    最后登录
    1970-1-1
    发表于 2015-11-28 23:18:10 | 显示全部楼层
    谢谢分享         
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9

    主题

    642

    帖子

    0

    高级会员

    Rank: 4

    积分
    748
    最后登录
    1970-1-1
    发表于 2015-11-29 13:54:11 | 显示全部楼层
    感谢分享
    171004hfelz0sxby7dbsz1.png
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-4 23:20
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    9

    主题

    573

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1785
    最后登录
    2017-3-3
    发表于 2015-11-29 15:21:31 | 显示全部楼层
    091541cr1iu0jkaf0zjmqc.png 谢谢分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2015-11-29 21:01:50 | 显示全部楼层
    多谢分享,又学习了新东东
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2015-11-29 21:32:17 来自手机 | 显示全部楼层
    感谢楼主分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    14

    帖子

    0

    注册会员

    Rank: 2

    积分
    58
    最后登录
    2016-7-19
    发表于 2016-4-19 13:32:42 | 显示全部楼层
    mbed驱动安装不成功如何解决
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 04:37 , Processed in 0.114594 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表