1.LuaJIT源码分析(一)搭建调试环境
2.有哪些好用的嵌入式操作系统界面库(GUI library)(下)?
3.《MiniPRO H750开发指南》第二十六章 USMART调试组件实验
4.ipadå¯ä»¥javaç¼ç¨åï¼
LuaJIT源码分析(一)搭建调试环境
LuaJIT,这个以高效著称的lua即时编译器(JIT),因其源码资料稀缺,促使我们不得不自建环境进行深入学习。分析源码的第一步,就是视频整合源码搭建一个可用于调试的环境,但即使是这个初始步骤,能找到的指导也相当有限,反映出LuaJIT的编译过程复杂性。
首先,从官方git仓库开始,通过命令`git clone 、ST、TI等)及支持远程Web UI等功能。运行效果可见。EmbeddedWizard收费较高。
7. Qt for MCU
Qt for MCU是一个在没有操作系统的设备上运行的工具,允许开发人员在成本效益的单片机上创建流畅的用户界面。Qt for MCU专门针对ARM Cortex-M单片机开发,调试php源码支持测试硬件平台,如STMFi-DISCO、STMF-DK、I.MX RT-EVKB、Renesas RH等。它提供了Qt QuickControls以帮助开发人员,同时支持Qt Design Studio和Qt Creator等设计和开发工具。Qt for MCU计划在9月中旬发布评估版本供用户下载。
8. 其他
1)Minigui是一个由北京飞漫软件技术有限公司创办的开源Linux图形用户界面支持系统,适用于嵌入式设备,具有成熟、性能优良、功能丰富等优势。广泛应用于通讯、医疗、工控、电子、机顶盒、股道 系统 源码多媒体等领域。最新版本为MiniGUI 3.0,对中文支持友好,支持GB与BIG5字符集,其他字符集也易于添加。
2)LearningGUI是一款由国内开发者开发的开源库,高度可裁剪、可配置,库大小从多K到多K不等,占用内存小。Basic版静态内存管理,占用多K RAM。Windows版动态内存管理,内存占用与建立控件数量相关。支持内置GB—标准汉字库,提供开放式字库访问接口和颜色转换接口,采用消息驱动机制。
以上提到的读 spring源码嵌入式操作系统界面库在不同的场景中有着各自的优点和适用范围。emWin、EmbeddedWizard、Qt for MCU和Minigui等提供丰富的功能,适合不同需求的开发项目,而LearningGUI则以其灵活性和小内存占用受到关注。
《MiniPRO H开发指南》第二十六章 USMART调试组件实验
实验平台:正点原子MiniPro STMH开发板
章节摘自正点原子MiniPro STMH 开发指南_V1.1
本章,我们将向大家介绍一个十分重要的辅助调试工具:USMART调试组件。该组件由正点原子开发提供,功能类似linux的shell(RTT的finsh也属于此类)。USMART最主要的功能就是通过串口调用单片机里面的函数,并执行,对我们调试代码是很有帮助的。
USMART调试组件简介:
USMART是由正点原子开发的一个灵巧的串口调试互交组件,通过它你可以通过串口助手调用程序里面的任何函数,并执行。因此,你可以随意更改函数的输入参数(支持数字(/进制,支持负数)、盘源码搭建字符串、函数入口地址等作为参数),单个函数最多支持个输入参数,并支持函数返回值显示,目前最新版本为V3.5。
USMART的特点如下:
有了USMART,你可以轻易的修改函数参数、查看函数运行结果,从而快速解决问题。比如你调试一个摄像头模块,需要修改其中的几个参数来得到最佳的效果,普通的做法:写函数修改参数下载看结果不满意修改参数下载看结果不满意….不停的循环,直到满意为止。这样做很麻烦不说,单片机也是有寿命的啊,老这样不停的刷,很折寿的。而利用USMART,则只需要在串口调试助手里面输入函数及参数,然后直接串口发送给单片机,就执行了一次参数调整,不满意的话,你在串口调试助手修改参数在发送就可以了,直到你满意为止。这样,修改参数十分方便,不需要编译、不需要下载、不会让单片机折寿。
USMART支持的参数类型基本满足任何调试了,支持的类型有:或者进制数字、字符串指针(如果该参数是用作参数返回的话,可能会有问题!)、函数指针等。因此绝大部分函数,可以直接被USMART调用,对于不能直接调用的,你只需要重写一个函数,把影响调用的参数去掉即可,这个重写后的函数,即可以被USMART调用了。
USMART的实现流程简单概括就是:第一步,添加需要调用的函数(在usmart_config.c里面的usmart_nametab数组里面添加);第二步,初始化串口;第三步,初始化USMART(通过usmart_init函数实现);第四步,轮询usmart_scan函数,处理串口数据。
硬件设计:
本实验通过usmart调用单片机里面的函数,实现对LCD显示和LED以及延时的控制。LED0闪烁用于提示程序正在运行。
硬件资源:
1)RGB灯
RED :LED0 - PB4
GREEN :LED1 - PE6
2)串口1(PA9/PA连接在板载USB转串口芯片CH上面)
4)正点原子2.8/3.5/4.3/7/寸TFTLCD模块(仅限MCU屏,位并口驱动)
程序设计:
程序流程图和程序解析:
USMART驱动代码:
USMART驱动源码包括七个文件:usmart.h、usmart_port.c、usmart_port.h、usmart_str.c、usmart.c、usmart_config.c和usmart_str.h。
要使用USMART,我们先得进行代码移植,USMART的移植非常简单,我们只需要修改usmart_port.c里面的5个函数即可完成移植。
核心移植代码解析:
USMART驱动移植完成后,就可以使用USMART了。USMART同外部的互交,一般是通过usmart_dev结构体实现,所以usmart_init和usmart_scan的调用分别是通过:usmart_dev.init和usmart_dev.scan实现的。
USMART的使用:
在串口助手中调用USMART,首先需要查看可调用函数列表,然后根据函数参数类型和大小调整参数值,执行函数。
下载验证:
将程序下载到开发板后,可以看到LED0不停的闪烁,提示程序已经在运行了。同时,屏幕上显示了一些字符(就是主函数里面要显示的字符)。
使用串口调试助手XCOM,选择正确的串口号多条发送勾选发送新行(即发送回车键)选项,然后发送list指令,即可打印所有usmart可调用函数。
系统指令介绍:
通过发送不同的指令,可以进行函数的调用、参数查询、帮助信息查看、进制转换等功能。
函数调用案例:
以delay_ms函数为例,通过输入不同参数,可以实现不同时间的延时效果。使用runtime指令开启函数执行时间统计功能,可以精确测量函数执行时间。
其他函数调用,遵循相同规则,不再赘述。
USMART调试组件的使用,就为大家介绍到这里。USMART是一个非常不错的调试组件,希望大家能学会使用,可以达到事半功倍的效果。
ipadå¯ä»¥javaç¼ç¨åï¼
å¹³æ¿çµèå¯ä»¥å代ç å
å¯ä»¥ï¼ä¸ç®¡æ¯ipadè¿æ¯å®åè¿æ¯å¾®è½¯ç³»ç»çæ¿åé½æç¸åºçç¼ç¨è½¯ä»¶ã
å ¶ä¸å¾å¤å®å设å¤å æ¬ææºåå¹³æ¿ï¼åºåæ¶å¨ç³»ç»ä¸èªå¸¦viçè³æ¯vim以ågccï¼å®è£ ä¸ä¸ªç»ç«¯æ¨¡æå¨ï¼æç«åå«è¾å ¥viãvimãgccãå¦æææ示信æ¯å°±æ¯è£ æè¿ä¸ªå·¥å ·ï¼ã
vi/vimæ¯æ强大çç¼è¾å¨ä¹ä¸ï¼å¨å¹³æ¿ä¸å ¶æåæä¼æå¾å¤§åå,ègccæ¯æ好çcè¯è¨ç¼è¯å¨ä¹ä¸ï¼ä¹å¯ä»¥æé ä¸åçå端æ¥æ¯æä¸åçè¯è¨ï¼æ¯æ¹è¯´gcc-c++ï¼gcc-javaãèå¨ipadå微软çå¹³æ¿ä¸åå¯ä»¥ä½¿ç¨åç§åè½å¼ºå¤§çIDEã
æ©å±èµæï¼
ç¼åç¨åºæ£®æ并代ç 注æäºé¡¹ï¼
1ãä¸è¦åªä¸ºäºè§£å³é®é¢èéææ代ç é½åå¨Mainï¼ï¼å½æ°éã
2ãä¸ä¸ªå½æ°åºè¯¥åªè§£å³ä¸ä¸ªåè½æé®é¢ã
3ãå个å½æ°ç代ç è¡æ°æ好ä¸è¦è¶ è¿è¡ã
4ãè¦ç»æ¯ä¸ä¸ªå½æ°èµ·ä¸ä¸ªå¥½å称ï¼åå°è§åç¥ä¹çç¨åº¦æ¹ä¾¿å¯¹ç¨åºæ´ä½çå¿«éç解ã
5ãè¦ç»å½æ°ä½æ³¨æè¯å¥æ¤è¿¹ï¼å代ç ä¸åªæ¯ç»èªå·±ççï¼ä¸ä¸ªå¥½ç代ç ä¹åºè¯¥è®©å«äººè½å®¹æç解ã
6ãå¨ç¼åä¸ä¸ªé¡¹ç®æç¨åºæ¶åºäºå èèå°éè¦å®ä¹çå½æ°ï¼æä¸æç¸ååè½çé¨åæ½è±¡å°ä¸ä¸ªå½æ°æ¶ï¼åå°ä»£ç åä½ã
ipadè½ä¸è½ç¨æ¥å¼åjavaæ没æ类似Eclipseçå¼åç¯å¢
ææ£è§é¶è辩æ¥è¯´èªå¤ï¼å¯ä»¥å¼åï¼JAVAæ¯è·¨å¹³å°çï¼Eclipseæ¯IDEå·¥å ·ï¼ä½ å»æç´¢ä¸ä¸IOSJAVAçIDEå¼åå·¥å ·çç±»ä¼¼å ³é®ååºè¯¥å°±é缺å¯ä»¥æ¾å°ã
ipadmini2è½å¦ä½¿ç¨eclipseæ¥ç»ä¹ javaç¼ç¨ä¸å¯ä»¥çï¼ææ¶æ²¡ææ¯æipadçeclipseçæ¬ã
å¤æEclipseæ¯ä¸ä¸ªå¼æ¾æºä»£ç ç颤å²åãåºäºJavaçå¯æ©å±å¼åå¹³å°ãå°±å ¶æ¬èº«èè¨ï¼å®åªæ¯ä¸ä¸ªæ¡æ¶åä¸ç»æå¡ï¼ç¨äºéè¿æ件ç»ä»¶æ建å¼åç¯å¢ã幸è¿çæ¯ï¼Eclipseé带äºä¸ä¸ªæ åèæçæ件éï¼å æ¬Javaå¼åå·¥å ·ï¼JavaDevelopmentKitï¼JDKï¼ã