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单片机开发,打铃系统 c 源码支持测试硬件平台,如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—标准汉字库,提供开放式字库访问接口和颜色转换接口,采用消息驱动机制。
以上提到的千月源码2022嵌入式操作系统界面库在不同的场景中有着各自的优点和适用范围。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ï¼ã