搜索
bottom↓
12
返回列表 发新帖
楼主: zhangyang86

调试利器----USMART 2.0 发布

[复制链接]

出0入0汤圆

发表于 2011-7-21 16:22:22 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-7-21 22:01:01 | 显示全部楼层
这个不错。

出0入0汤圆

发表于 2011-7-28 10:48:13 | 显示全部楼层
终于找到了。。补MARK

出0入0汤圆

发表于 2011-7-28 11:27:57 | 显示全部楼层
绣花拳, 为什么还有这么多人叫好?

出0入0汤圆

发表于 2011-7-28 12:40:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-11 21:53:24 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-8-12 22:07:21 | 显示全部楼层
抓一下

出0入0汤圆

发表于 2011-8-13 09:41:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-13 09:43:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-13 10:38:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-13 11:54:22 | 显示全部楼层
教程

出0入0汤圆

发表于 2011-8-13 13:02:20 | 显示全部楼层
mark
这个东西好。

出0入0汤圆

发表于 2011-8-13 13:03:27 | 显示全部楼层
mark +

出0入0汤圆

发表于 2011-9-15 22:06:44 | 显示全部楼层
过几天试试

出0入0汤圆

发表于 2011-9-15 23:38:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-17 09:47:40 | 显示全部楼层
回复【105楼】wyl_e  
绣花拳, 为什么还有这么多人叫好?
-----------------------------------------------------------------------
是不錯的點子!!(雖然我用不到)

總比你只會嘴砲甚麼都拿不出來好多了!!

出0入0汤圆

发表于 2011-9-20 09:00:47 | 显示全部楼层
函数参数要是不在id列表里的话
lz可以在代码中增加函数参数对应id列表匹配性的检查,这样就可以避免万一输错函数地址时整个程序就会崩溃的问题

出0入0汤圆

发表于 2011-9-20 09:06:24 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-20 10:34:35 | 显示全部楼层
有点操作系统的味道

出0入0汤圆

发表于 2011-9-20 11:30:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-2 11:16:43 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-10-2 18:22:00 | 显示全部楼层
回复【楼主位】zhangyang86 张洋
-----------------------------------------------------------------------

收藏了,手里正好有一套产品

出0入0汤圆

发表于 2011-10-3 23:42:30 | 显示全部楼层
跟vxworks的shell平台类似,我很久前就想整到单片机上,想不到楼主实现了

出0入0汤圆

发表于 2011-10-3 23:47:21 | 显示全部楼层
如果楼主能做成读取编译文件得到函数列表,不用手动添加要调用的函数,就完美了

出0入0汤圆

发表于 2011-10-3 23:50:17 | 显示全部楼层
调试好帮手

出0入0汤圆

发表于 2011-10-4 00:34:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-14 18:07:24 | 显示全部楼层
阅毕。

出0入0汤圆

发表于 2011-11-3 14:14:28 | 显示全部楼层
太强大了,MARK

出0入0汤圆

发表于 2011-11-3 14:32:29 | 显示全部楼层
这个我自己实现过。。。
不但如此,
我把它用在处理GSM模块的AT命令上面。
把GSM模块设想成一个人,GSM返回的AT命令输入到单片机的UART上,然后把这个过程想像成GSM通过UART向单片机输入命令。
在单片机内部实现类似这样的函数映射,把AT命令一一映射到相应的处理函数上。然后根据AT命令分解成命令和参数,再查找相应的处理函数。然后调用处理函数的同时向函数传递AT命令的参数。让函数处理。

不但如此,它还能把收到的短信内容读出来然后用同样的方法分解成命令和参数,然后还有另外一张表格映射的是短信内容所分解出来的命令和参数对应的处理函数。
所以它能直接处理通过短信发送的命令,就像是一个远程的shell.

而且处理短信内容的这张表格又同时被映射到单片机另一个本地的UART上面,这样在本地的UART上面就能直接调用这些函数的功能了。

整个过程用对象的思想实现。所以很省空间。

这个再改进下可以让系统启动的时候读GSM模块的信息然后配置相应的AT命令处理函数映射表,这样就能兼容好多的GSM模块。
或者根据配置信息配置成短信或GPRS通信。。

只是后来没再做下去。。

出0入0汤圆

发表于 2011-11-3 21:59:23 | 显示全部楼层
支持 原创 支持正点原子

出0入0汤圆

发表于 2011-11-4 08:08:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-4 08:14:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-4 08:58:53 | 显示全部楼层
不错,顶

出0入0汤圆

发表于 2011-11-4 14:30:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-4 14:46:10 | 显示全部楼层
非常好的调试方法。

出0入0汤圆

发表于 2011-11-4 14:51:18 | 显示全部楼层
有时间仔细看一下!

出0入0汤圆

发表于 2011-11-4 16:47:23 | 显示全部楼层
这个不错!

出0入0汤圆

发表于 2011-11-4 16:54:11 | 显示全部楼层
MARK!好贴

出0入0汤圆

 楼主| 发表于 2011-11-6 15:50:19 | 显示全部楼层
升级到V2.7
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK STM32开发板   
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//创建日期:2011/6/13
//版本:V2.7
//版权所有,盗版必究。
//Copyright(C) 正点原子 2011-2021
//All rights reserved
//********************************************************************************
//升级说明
//V1.4
//增加了对参数为string类型的函数的支持.适用范围大大提高.
//优化了内存占用,静态内存占用为79个字节@10个参数.动态适应数字及字符串长度
//V2.0
//1,修改了list指令,打印函数的完整表达式.
//2,增加了id指令,打印每个函数的入口地址.
//3,修改了参数匹配,支持函数参数的调用(输入入口地址).
//4,增加了函数名长度宏定义.
//V2.1 20110707  
//1,增加dec,hex两个指令,用于设置参数显示进制,及执行进制转换.
//注:当dec,hex不带参数的时候,即设定显示参数进制.当后跟参数的时候,即执行进制转换.
//如:"dec 0XFF" 则会将0XFF转为255,由串口返回.
//如:"hex 100"  则会将100转为0X64,由串口返回
//2,新增usmart_get_cmdname函数,用于获取指令名字.
//V2.2 20110726
//1,修正了void类型参数的参数统计错误.
//2,修改数据显示格式默认为16进制.
//V2.3 20110815
//1,去掉了函数名后必须跟"("的限制.
//2,修正了字符串参数中不能有"("的bug.
//3,修改了函数默认显示参数格式的修改方式.
//V2.4 20110905
//1,修改了usmart_get_cmdname函数,增加最大参数长度限制.避免了输入错误参数时的死机现象.
//2,增加USMART_ENTIM2_SCAN宏定义,用于配置是否使用TIM2定时执行scan函数.
//V2.5 20110930
//1,修改usmart_init函数为void usmart_init(u8 sysclk),可以根据系统频率自动设定扫描时间.(固定100ms)
//2,去掉了usmart_init函数中的uart_init函数,串口初始化必须在外部初始化,方便用户自行管理.
//V2.6 20111009
//1,增加了read_addr和write_addr两个函数.可以利用这两个函数读写内部任意地址(必须是有效地址).更加方便调试.
//2,read_addr和write_addr两个函数可以通过设置USMART_USE_WRFUNS为来使能和关闭.
//3,修改了usmart_strcmp,使其规范化.   
//V2.7 20111024
//1,修正了返回值16进制显示时不换行的bug.
//2,增加了函数是否有返回值的判断,如果没有返回值,则不会显示.有返回值时才显示其返回值.


最新程序2.7版本的usmart.加入对函数返回值的判断.对没有返回值的函数,不会显示其返回值.



点击此处下载 ourdev_692418VZ7XWJ.zip(文件大小:84K) (原文件名:ALIENTEK MINISTM32 扩展实验9 USMART V2.7应用.zip)

出0入0汤圆

发表于 2011-11-6 20:08:18 | 显示全部楼层
mark  挺好的 刚刚看过写的内容

出0入0汤圆

发表于 2011-11-20 23:58:59 | 显示全部楼层
相当好。谢谢分享。

出0入0汤圆

发表于 2012-3-7 14:27:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-12-22 21:06:38 | 显示全部楼层
调用哪个函数以及怎么调用都是根据接收到的串口命令来决定的,调试好了参数要重写工程软件的啊,我以为可以不动原工程!

出0入4汤圆

发表于 2023-8-14 09:31:16 | 显示全部楼层
请问和μC/Shell  有什么功能区别?

出0入0汤圆

发表于 2023-8-14 12:09:48 | 显示全部楼层
Thank you !!!

出0入0汤圆

发表于 2023-8-16 13:40:55 | 显示全部楼层
cihu 发表于 2011-10-3 23:47
如果楼主能做成读取编译文件得到函数列表,不用手动添加要调用的函数,就完美了 ...
(引用自127楼)

编译文件估计平台适应性就有限制了
即使MDK不同版本输出的结果也不一定规律一致
何况还有iar
更何况还有AVR和MCS51,不同的单片机也还有不同的编译器

嘿嘿,我其实自己做过一个ICCAVR6.31的map文件读取小软件,可以调用函数直接执行
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 14:50

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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