在树莓派RP2040上用Rust驱动ST7735
本文详述在树莓派RP上使用Rust驱动ST的实践过程,旨在记录使用最新库版本的库源成功经验,简化开发流程。码下源码交易网站平台 php
参考源码地址:st-lcd-examples/rp-examples at master · sajattack/st-lcd-examples
完整的载路代码位于:github.com/planet/r...
使用步骤如下:
1、安装工具:确保安装最新版的源码Rust以及相应的开发环境。
2、库源硬件连接:根据RP开发板的码下引脚图,正确连接ST显示屏。载路
3、源码Cargo.toml:配置此文件,库源引入st库和相关依赖。码下
4、载路main.rs:在此文件中编写主要逻辑,初始化屏幕并显示内容。
5、build.rs:用于自定义构建步骤,可能包括生成额外的可执行文件。
6、memory.x:用于配置RAM布局,确保屏幕驱动代码能够正确运行。
7、.cargo/config.toml:配置个人和项目特定的设置,如Rust工具链路径。
8、运行:通过USB将RP接入电脑,终端执行“cargo run”命令即可启动程序。
stm从keil安装到程序烧录
准备必要的开发工具以进行STM微控制器程序的开发与烧录,对于初学者了解其完整过程尤为关键。下文将详细解析各个步骤,微驾校源码确保读者能够顺利进行设备安装与编程流程。请注意,以下指南是通用性步骤,具体实现或功能可能随所用硬件与软件版本有所变动,请根据实际情况调整。
一、工具准备:
1. **STM开发板**:以STMLC8T6为示例,确保板载资源满足所需功能。
2. **Keil uVision IDE**:版本适配性因人而异,选择版本时关注其与所选STM硬件的兼容性。
3. **官方STM芯片库**:下载适用于STML芯片的库文件,确保项目开发所需的源码与头文件可用。
4. **ST-LINK V2烧录器**:通过官方网站下载驱动并安装,便于后续的程序烧录操作。
5. **串口调试助手**:用于实时监视程序运行状态,提升调试效率。
二、软件安装与配置:
1. **安装环境**:将所有开发软件安装至英文路径下,使用与现有程序存放路径相同的英文命名,简化项目管理与维护。
2. **Keil uVision安装**:按照标准步骤进行安装,确保安装路径英文,并在完成后通过注册机完成破解,以访问更多高级功能。
3. **注册并配置**:安装完成后,使用注册机注册Keil软件,完成关键的初始化步骤。
4. **芯片资源**:安装适用于特定STM型号的芯片包,并按照指示安装至默认路径。
三、开发流程指引:
1. **文件架构设计**:为项目创建独立的webpack源码debug存放目录,构建有序的文件架构。使用英文路径命名文件夹与文件,便于后续的管理与搜索。
2. **固件库应用**:从官方网站获取固件库文件,将对应模块如中断、外设驱动等代码组织到相应的文件夹内。
3. **新建与配置工程**:在Keil中打开IDE,创建新工程,合理安排项目与源代码的关联。
四、代码编写与编译调试:
1. **程序开发**:在Keil环境下编写代码,利用IDE强大的IDE功能提高开发效率。
2. **编译与仿真**:编译过程确保程序无误,使用仿真器预览运行效果,提前发现潜在问题。
3. **烧录与测试**:通过ST-LINK将程序烧录至STM开发板,进行实际环境下的测试与验证,对结果进行评估并持续优化。
五、进阶应用与扩展:
- **烧录.hex文件**:掌握使用ST-LINK烧录.hex文件的方法,利用ST-Link Utility程序进行文件烧录与读取Flash数据的操作。
- **日志与调试**:运用串口调试助手捕获实时日志信息,进一步细化调试步骤,提升问题解决效率。
完成上述步骤后,STM开发者的入门旅程初步告一段落,这标志着从理论学习到实际操作的跨越。持续地实践与学习,结合实际项目经验,将不断推进开发者的技术水平。
一文看懂hex文件、采集规则源码bin文件、axf文件的区别
在STM开发中,遇到的hex文件、bin文件与axf文件都是可烧写至板子运行的文件。它们有何区别?让我们先回顾C语言编译过程。
编译过程包括预处理、编译、汇编和链接四个阶段。在STM开发中,虽然我们通常使用MDK或类似IDE进行编译,实际编译过程大致相同。
以LED程序为例,编译过程包括:源代码 -> 目标代码 -> 可执行代码。IDE提供便捷操作,如单击编译按钮即可完成整个流程。
IDE或工具集的编译工具一般位于安装目录的bin文件夹。如MDK的编译工具位于安装路径下的bin文件夹。
回归主题,MDK编译过程使用安装路径下的编译工具完成。同样,我们可在cmd命令窗口通过armcc命令执行编译。
不同文件格式用途各异。axf文件是默认生成的文件,包含代码数据与调试信息,用于MDK中的调试。Hex文件记录代码存储地址,便于下载器使用。Bin文件由axf文件生成,是最小可运行文件,仅包含直接代码映像。
文件大小:axf文件最大,python 金花 源码hex文件次之,bin文件最小。
hex文件通过FlyMcu工具烧录,bin文件则使用STMCubeProgrammer和STLINK进行下载。
至此,关于文件格式的区别与烧录方法已简要说明。对文件内容有兴趣的朋友,可进一步深入分析。
总结,hex、bin、axf文件在STM开发中各有用途,理解其区别有助于更高效地进行项目开发。编程学习是一个持续的过程,希望每位学习者都能不断进步。
st电机库5.0完全开源了。这对电机控制软件工程师有何影响?
st电机库5.0的全面开源,对电机控制软件工程师来说,是重大利好。开源意味着可以免费获取完整的源代码,使用LL库的直观性和便捷性提升编程效率。软件工程师们无需再为获取源代码而担忧,只需注册并申请,小时内即可收到批准邮件,这极大地加快了项目进程。百度云分享链接提供了方便的访问途径,方便工程师们下载和使用。
然而,对于电机控制领域的老工程师们而言,开源的冲击尤为显著。伺服行业和电动汽车等高端应用领域要求极高,如电机参数辨识、惯量辨识等复杂功能,这些核心知识难以轻易通过开源代码获取。真正的技术创新往往需要工程师投入大量时间与精力,这些成果不愿公开,因此,开源虽然降低了入门门槛,吸引了更多新人进入电机控制领域,但并未改变高端领域技术壁垒的实质。
开源软件的普及,使得低端需求的市场更加饱和,相应产品价格下滑。而对专业度要求更高的领域,技术门槛依然存在,芯片厂商的开源代码仅能提供基础框架,真正实现高级功能仍需专业工程师深入研究。ST的开源代码,虽能为新入行者提供便利,但真正理解并利用其代码的工程师,相对于只懂得基本FOC的人,已展现出了更高的专业水平。在理解并运用开源代码的过程中,工程师不仅能够提升自身技能,也能对电机控制领域有更深入的理解。
å¦ä½ä½¿ç¨ST Visual Developå¼åå·¥å ·å»ºç«å·¥ç¨
1.解åstmfx_stdperiph_lib.zip å¯ä»¥ä»STå®æ¹ç½ç«å è´¹ä¸è½½ã 2.å建ä¸ä¸ªDemoæ件夹 2.1 æ°å»ºåæ件夹Userï¼ç¨äºåæ¾ç¨æ·æºç¨åº 2.2 æ°å»ºåæ件夹Projectï¼ç¨æ·KEILå·¥ç¨æ件 2.3 å¨Projectä¸ä¾æ¬¡å建ObjåListåæ件夹ï¼åæ¾ç¼è¯è¿ç¨ä¸äº§ççä¸é´æ件ã 3. å¤å¶æºä»£ç å°Demoæ件夹 3.1 å°stmfx_stdperiph_lib\STMFx_StdPeriph_Lib_V3.1.2Librariesæ件æ´ä½å¤å¶å°Demoæ件夹ä¸ãè¿å°±æ¯STçæ ååºï¼æ¯ä»¥æºä»£ç å½¢å¼æä¾çã 3.2 å°åºä¸çæ¼ç¤ºä»£ç IOToggleä¸çæ件å¤å¶å°Demo\Useræ件夹. 4. æ°å»ºä¸ä¸ªKeil MDKå·¥ç¨ 4.1 å¯å¨Keil MDKï¼ç¹å»èå New uVision Projectï¼ç¶åæå导è¿è¡æä½ 4.2 éæ©CPUç±»å为 STMFZE ï¼è¿æ¯å®å¯è±STMå¼åæ¿éç¨CPUç±»åï¼ 4.3 å½æ示æ¯å¦å¤å¶å¯å¨ä»£ç æ¶ï¼è¯·éæ©å¦ãï¼æ们ç¨ææ°çåºä¸çå¯å¨ä»£ç ï¼ä¸ç¨Keil软件èªå¸¦çæ§çæ¬å¯å¨æä»¶ï¼ 4.4 æ ¹æ®èªå·±çéè¦ä¿®æ¹Targetååãï¼ååä»»æï¼ 4.5 为äºä¾¿äºä»£ç 管çï¼å¨è¿ä¸ªProjectä¸å建å 个Group (ååå¯ä»¥ä»»æ) User : åæ¾ç¨æ·èªå·±åçæºä»£ç RVMDK : åæ¾å¯å¨æ件ï¼æ±ç¼æä»¶ï¼ StdPeriph_Driver : åæ¾STæ ååºæ件 CMSIS : åæ¾CMSISæ¥å£æ件ï¼è¿ä¹æ¯åºçä¸é¨åï¼ 4.6 å建好Groupåï¼æ们å¼å§ä¾æ¬¡æ·»å æ件ã 5. ä¿®æ¹æºä»£ç ãæ们å°ä¿®æ¹main.c æ件ï¼æ¢ææ们èªå·±è·é©¬ç¯ç¨åºã 6. é 置工ç¨, ç¹å»âOptionsâæé® 6.1 åæ¢å°Outputã éæ©Objectæ件夹ã å¨Create Hex File åæé©ã 6.2 åæ¢å¸¦Listingã éæ©Listingsæ件夹 6.3 åæ¢å°C/C++ æ·»å 两个é¢ç¼è¯å® STMFX_HD, USE_STDPERIPH_DRIVER ï¼è¿æ¯STåºç¨å°äºè¿ä¸¤ä¸ªå®ï¼ ä¿®æ¹Includesè·¯å¾ 6.4 åæ¢å°Debug éæ©ç¡¬ä»¶è°è¯å¨ï¼ç¼ºçæ¯è½¯ä»¶ä»¿çï¼ï¼æ们éæ©Cortex-M3 J-Linkè°è¯å¨ å Run to mainåæé© 6.4 åæ¢å°Utilities éé¢è°è¯å¨ç±»åï¼æ们éæ©Cortex-M3 J-Link ç¹settingsæé®ï¼æ·»å Flashç¼ç¨ç®æ³ï¼æ们éæ©STMé«å¯åº¦å¨ä»¶ï¼Flash容éKåè 7. é 置工ç¨å®æ¯ãä¸é¢å¼å§ç¼è¯ã 8. ç¼è¯OKï¼å¼å§è°è¯ã
有哪些好用的嵌入式操作系统界面库(GUI library)(下)?
5. emWin
由德国Segger公司开发的图形界面库,提供图形化用户界面(GUI)构建工具,以C源代码形式呈现。功能包括绘制2D图形、显示位图文件、文字显示、处理用户输入及提供各种窗口对象。运行效果示例可见。emWin功能强大,图形酷炫,但为收费产品。Segger公司还为Micrium公司(uCOS所属公司)定制了uc/GUI,用户需向Segger公司缴纳版权费。另外,STemWin是Segger公司为ST公司定制的emWin,适用于ST芯片,用户可免费使用。
6. EmbeddedWizard
德国TARA System公司开发的一款舒适、灵活的嵌入式系统GUI开发工具,具备简化GUI开发、强大的模拟器、所见即所得编辑、美观的图形(2D、3D支持)、兼容多种MCU(如Broadcom、ST、TI等)及支持远程Web UI等功能。运行效果可见。EmbeddedWizard收费较高。
7. Qt for MCU
Qt for MCU是一个在没有操作系统的设备上运行的工具,允许开发人员在成本效益的单片机上创建流畅的用户界面。Qt for MCU专门针对ARM Cortex-M单片机开发,支持测试硬件平台,如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—标准汉字库,提供开放式字库访问接口和颜色转换接口,采用消息驱动机制。
以上提到的嵌入式操作系统界面库在不同的场景中有着各自的优点和适用范围。emWin、EmbeddedWizard、Qt for MCU和Minigui等提供丰富的功能,适合不同需求的开发项目,而LearningGUI则以其灵活性和小内存占用受到关注。
å¦ä½ä½¿ç¨MDK建ç«ä¸ä¸ªSTMå·¥ç¨
第ä¸æ¥ï¼è·åSTåºæºç
å ³äºè·åSTå ¬å¸çSTMåºä»¶åºæºç ï¼æå ç§æ¹æ³ãæ们å¯ä»¥å¨ç¾åº¦ä¸æï¼ç½ä¸æè¿è¡äºå享ï¼ä¹å¯ä»¥å°STå ¬å¸çå®ç½è¿è¡æ¥æ¾å¹¶ä¸è½½ãä¸è¿ï¼å¦æè±æä¸å¥½çè¯ï¼è¦å¨å®ç½ä¸æ¾å°STMåºä»¶åºç¡®å®æ¯ä»¶å¾ååçäºãå¨å®ç½ä¸å¯ä»¥æ ¹æ®è±ææ示æä¸åæ¡ä»¶è¿è¡çéï¼å ·ä½æä½å¦ä¸å¾æ示ï¼
END
第äºæ¥ï¼æ°å»ºå·¥ç¨æ件夹ââãSTMå·¥ç¨æ¨¡æ¿ã
é¦å ï¼æ°å»ºå·¥ç¨æ件夹ãSTMå·¥ç¨æ¨¡æ¿ãï¼ç¶ååå¨è¯¥æ件夹ä¸æ°å»º6个æ件夹ï¼åå«ä¸ºï¼ãDocãããLibrariesãããListingãããOutputãããProjectãåãUserããå ¶ä¸ï¼ãDocãç¨äºåæ¾åç§è¯´æææ¡£ï¼ãLibrariesãç¨äºåæ¾åç§åºæ件ï¼ãListingãç¨äºåæ¾ç¼è¯æ¶äº§ççä¸é´æ件ï¼ãOutputãç¨äºåæ¾çæçä¸è½½æéçæ件ï¼ãProjectãç¨äºåæ¾å·¥ç¨æ件ï¼ãUserãç¨äºåæ¾ç¨æ·æ件ï¼å³æ们èªå·±ç¼åçåç§æºæ件ãå ·ä½æ åµå¦ä¸å¾æ示ï¼
END
第ä¸æ¥ï¼å建ç«çå·¥ç¨æ件夹ä¸æ·»å åºæ件
å°åºæ件ä¸çincåsrcæ件夹å¤å¶å°æ¨¡æ¿å·¥ç¨æ件夹ä¸çFWLIBæ件夹ãå ·ä½æä½æ åµå¦ä¸å¾ï¼
å°åºæ件ä¸CoreSupportæ件夹ä¸çæ件å¤å¶å°å·¥ç¨æ¨¡æ¿æ件夹ä¸çCMSISæ件夹ãå ·ä½æä½æ åµå¦ä¸å¾ï¼
å°åºæ件ä¸DeviceSupportæ件夹ä¸çç¸å ³æ件å¤å¶å°å·¥ç¨æ¨¡æ¿æ件夹ä¸çCMSISæ件夹ãå ·ä½æä½æ åµå¦ä¸å¾ï¼
å°åºæ件ä¸startupæ件夹ä¸armä¸çæä»¶å ¨é¨å¤å¶å°å·¥ç¨æ¨¡æ¿æ件夹ä¸çstartupæ件夹ãå ·ä½æä½æ åµå¦ä¸å¾ï¼
å°åºæ件ä¸Projectæ件夹ä¸çç¸å ³æ件å¤å¶å°å·¥ç¨æ¨¡æ¿æ件夹ä¸çUseræ件夹ä¸ãå ·ä½æä½æ åµå¦ä¸å¾ï¼
END
第åæ¥ï¼ä½¿ç¨MDKï¼Keilï¼æ°å»ºå·¥ç¨æ¨¡æ¿
é¦å å¾éæ©CPUï¼è¿ä¸ªå¨æ°å»ºå·¥ç¨æ¶ï¼ä¼æä¸ä¸ªéæ©è¯çççé¢ï¼æ们åªéææ示以åèªå·±çå®é æ åµæ¥éæ©å°±å¥½äºãå ·ä½æä½æ åµå¦ä¸å¾ï¼
æ´æ¹å·¥ç¨åï¼å°é»è®¤çå·¥ç¨åæ¹ä¸ºâTemplateâçæ¹æ³ï¼éä¸å·¥ç¨ï¼æâF2âé®ï¼å¹¶ä¸ºå·¥ç¨æ·»å 项ç®ç»ï¼Add group to projectï¼ãå ·ä½æä½æ åµå¦ä¸å¾ï¼
åå«åå个项ç®ç»ä¸æ·»å æ们ååä»åºä¸å¤å¶è¿æ¥çæ件æ件ï¼Add files to groupï¼ãå ·ä½æä½æ åµå¦ä¸å¾ï¼
debian系如何把已经安装的某个程序还原为deb?
探讨如何在Debian系统中,将已安装的程序还原为.deb格式包进行操作,这涉及到下载源码、修改源代码、重新生成安装包、安装等环节,旨在实现个性化定制。
环境:使用的是Debian 稳定版,搭配KDE Plasma界面和wayland。操作时间:年3月日。
一、安装原版stterm
首先,通过官方仓库安装stterm的二进制包。
二、下载源代码
前往合适的文件存储位置,从官方网站下载源代码。若下载失败,可在deb-src源中添加代码源,确保在Debian目录下获得.dsc(基本信息文件)、源代码打包文件.tar.xz以及stterm-0.9目录。
三、配置文件修改
定位至需要修改的配置文件,包括字体、颜色、快捷方式等。
四、内容修改
针对需要调整的部分,替换相应的文本内容。涉及字体大小、主题颜色、快捷方式等。
五、提交修改
确保在源代码目录中,进行修改提交操作,输入补丁名并使用文本编辑器如vim进行内容修改和保存。
六、生成.deb包
在源代码目录中执行相关命令生成.deb包,注意识别生成的安装包文件,一般命名为stterm_0.9-1_amd.deb。
七、安装新.deb包
确保在源代码目录中,通过命令进行.deb包安装。
八、效果验证
安装后,程序界面实现个性化设置,如使用快捷键进行内容贴入贴出。遗憾的是,鼠标中键滚轮滚动界面的设置未能调整,欢迎知悉者提供帮助。
2024-12-23 06:48
2024-12-23 06:07
2024-12-23 06:05
2024-12-23 05:16
2024-12-23 05:12