查看: 7281|回复: 5

[原创] 【LPC824Lite】初次体验MBED离线工具SMeshStudio

[复制链接]
  • TA的每日心情
    郁闷
    2017-1-10 10:14
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    3

    主题

    82

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    277
    最后登录
    2017-3-9
    发表于 2017-1-14 00:03:13 | 显示全部楼层 |阅读模式
    本帖最后由 不务正业的猫 于 2017-1-14 00:03 编辑

    通过LPC824Lite才听说mbed这个东西,因为板载调试工具的win10驱动问题,把我拐进了mbed网站,然后又听说了SMeshStudio这个离线的开发mbed的工具。其实真正打动我的是可以用C++写程序,毕竞用C++也有个近10年时间了。IAR和MDK也可以用C++写程序,可是没有人提供底层设备驱动之类的东西,这些东西要是自己写,一个是工作量大,另一个是要求高,个人写很难有好的移置性和广泛的适应性。mbed的好处之一就是由ARM官方牵头,由各个厂商提供底层驱动,包括板级的支持代码,这个就跟Arduino有得比了,甚至比Arduino还要强,因为有这么多的ARM芯片供应商,而Arduino好像还主要基于AVR。在论坛搜了下,只看到一个贴子写这个离线开发工具。我这个就算是自己的学习扎记吧。因为各种原因,我也不知道会了解到什么程度。
    首先下载这个工具,我是在mbed开发者社区下的,网址 http://mbed.smeshlink.com/resource
    downloadFrom.gif
    页面中间的 "SMeshStudio离线集成开发环境"点击后会跳到百度网盘,
    baiduwangpan.gif
    里面的SMeshStudio_5.2.1.zip是真正的开发环境,其他文件看个人需要。下载后解压到某个盘的根目录就好了,我是解压到D盘了。需要注意的是路径中不能有空格,好像也不支持中文(我没试过)。
    pathOfunzip.gif
    这个工具是JAVA开发的,所以运行需要Java虚拟机,虽然我机器是win10 64位的,但是我运行eclipse_x64下的程序提示有错误,32位的就没问题。就先 这么用着吧。程序是不需要安装的,直接运行SMeshStudio.exe就可以了。先是个启动界面之后就是eclipse的窗口:
    mainwindow.gif
    到这里我就懵了,以前从未用过大名鼎鼎的eclipse。然后不得不百度下教程,然后还是一通乱点,最后居然创建了新工程并且编译通过了。新建个工程:
    newproject.png 输入工程名字,然后下一步 newprojectStep1.png 输入开发板信息:
    newprojectStep2.png mbed直接支持各大公司发布的开发板,就像Arduino的各开发板一样,新建的工程是需要指定基于哪个开发板的,这些开发板的驱动是写好了的,可以直接就用,的确是方便啊。可是LPC24Lite不是NXP官方的开发板,我只看到了LPXpresso824-MAX。好吧,毕竟还是有LPC824芯片的,还不算是个坏消息。如果是第一次用,上面的信息是要由你去指定的。我当时就没搞明白boards.txt是干什么用的。后两项上载用的串口和上载拷贝文件磁盘名是用来下载程序的,可以以后再修改。到这里就可以点Finish了,来看看工程是什么样的吧:
    finished.png
    工程自动加了两个文件,打开nx2.cpp,好吧,我什么都没写就有了个闪灯程序。点下工具栏上的对号按钮,verify一下,OK了,没有错误。
    现在可以插上LPC824Lite小板,准备下载程序了,下之前看下设备管理器中mbed Serial Port的串口号和新U盘的盘符(盘符后面要加冒号),然后右击项目名称打开项目属性对话框,修改板信息:
    serialPortSetting.png
    设置完成后就可以下载程序了。点需工具栏上的指向右侧的箭头按钮,因为编译过了,就不用再编译了,直接下载。略等片刻,提示拷贝结束,下载完成。
    uploadDone.png
    可是板子上看不到LED1闪烁啊?是啊,我们什么也没写并且我们的板子与官方的不同,当然不那么容易就闪灯啊。先来看下代码中的LED1是个什么鬼,右键点LED1,在弹出菜单中选"Open Declaration",一个名为PinNames.h的文件打开了,我们来看看吧:
        // LPC824-MAX board
        LED_RED = P0_12,
        LED_GREEN = P0_16,
        LED_BLUE = P0_27,
       
        // mbed original LED naming
        LED1 = LED_RED,
        LED2 = LED_GREEN,
        LED3 = LED_BLUE,
        LED4 = LED_BLUE,
    原来LED1对应的是P0_12,在我们的LPC824Lite板上这个脚是连到ISP按键上了。仔细看下原理图,D9(不知原理图上的标号跟板上的丝印是什么关系)就是跟板上R38连一起的LED3用的是P0_16而在工程中这个P0_16被定义为了LED2。好吧,我把代码中的LED1改成了LED2:
    DigitalOut led(LED2);   //<-此处生成的代码是LED1,现在改为LED2
    接下来是见证奇迹的时刻,直接点upload sketch,按照提示,这次在下载之前得编译一下。如果没有错误的话,板上的LED3会闪一秒灭一秒地闪烁了。
    只改了一个字符,只有短短的13行代码就实现了点灯,很好,很强大。不过要想真正地用起来,还是看文档研究代码去吧,呜呜呜...... 程序员再次哭晕在厕所。

    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2017-1-14 00:16:59 | 显示全部楼层
    这么晚了,点个赞 呵呵
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-9-17 19:57
  • 签到天数: 2310 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    107

    主题

    4270

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    10481
    最后登录
    2023-9-17
    发表于 2017-1-14 22:51:12 | 显示全部楼层
    mbed的确简单方便。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-1-10 10:14
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    3

    主题

    82

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    277
    最后登录
    2017-3-9
     楼主| 发表于 2017-1-15 11:32:09 | 显示全部楼层
    mbed是简单方便,可是SMeshStudio不支持调试啊,mbed网页版可以将工程导出到MDK或者IAR中再调试,可这离线版工具明确说是不支持代码调试,我又没找到可以导出工程的地方,这不是鸡肋么!?

    Arduino可以利用AVR Studio调试,还可以通过插件在VisualStudio2005中写代码。那MBED也该与时俱进啊!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-1-8 18:28
  • 签到天数: 93 天

    连续签到: 1 天

    [LV.6]常住居民II

    3

    主题

    221

    帖子

    0

    高级会员

    Rank: 4

    积分
    604
    最后登录
    2022-1-8
    发表于 2017-1-15 14:24:35 | 显示全部楼层
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-21 08:52
  • 签到天数: 861 天

    连续签到: 1 天

    [LV.10]以坛为家III

    75

    主题

    2523

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5867
    最后登录
    2025-1-22
    发表于 2017-1-15 16:57:32 | 显示全部楼层
    谢谢分享,Mbed确实非常简单,适合快速开发,有些功能还是不太完善,譬如说SCT,这个可是LPC系列的最大亮点,应该好好发挥出来
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-17 07:43 , Processed in 0.112877 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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