X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
DigiKey得捷技术专区
[作品提交] 3D打印机项目—STM32F7508-DK环境创建(一)
caxfan
2022-10-19 21:24
楼主
# 3D打印机项目—STM32F7508-DK环境创建(一) 从网上搜索发现smoothieware.org推出基于FreeRTOS系统V2,一直想试用一下,正好[**电子工程世界**](https://www.eeworld.com.cn/)举办**得捷电子创新设计大赛**活动,感谢赛会举办方给了我一个名额,于是决定制作硬件采用STM32F7508-DK作为主控制器及UI显示,ESP32作为WIFI设备通过USART进行通讯的3D打印机控制系统。 ## 项目方案 以Smoothie ware v2.0作为3D打印机控制主平台框架软件,增加基于LVGL的图形用户界面。 ### Smoothie简介 Smoothie原平台是使用STM32H745芯片基于FreeRTOS嵌入式操作系统的GCC平台软件,包含FatFS文件系统,PID温度控制,开源,高度模块化,高性能G代码解释器和用面向对象的C++编写的CNC,3D打印机,激光切割控制器。具有可伸缩灵活配置,可靠,易维护的特点。
###FreeRTOS简介 FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
### LVGL简介 LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素,美丽的视觉效果和低内存占用。LVGL的项目作者是来自匈牙利首都布达佩斯的 Gábor Kiss-Vámosi 。Kiss 在2016年将其并发布在 GitHub 上。当时叫 LittlevGL而不是LVGL,后来作者统一修改为 LVGL。 像一般的开源项目的那样,它是作为一个人的项目开始的。 从那时起,陆续有近 100 名贡献者参与了项目开发,使得 LVGL 逐渐成为最受欢迎的嵌入式图形库之一。
## 硬件 1.STM32F7508-DK探索板是为基于STMicroelectronics Arm® Cortex®-M7内核的STM32F750N8H6微控制器而设计的一个完整的演示和开发平台。该微控制器具有 -四个I2C、六个具有三个复用单工I2S的SPI、SDMMC、四个USART、四个UART、两个CAN、三个12位ADC、两个12位DAC、两个SAI、8到14位的数字相机模块接口、 -内部320+16+4-Kb的SRAM和64-Kb的闪存、 -USB OTG HS和FS、以太网MAC、FMC接口、Quad-SPI接口、SWD调试支持。 板上的全系列硬件特性可帮助用户评估几乎所有外设 -USB OTG HS和FS、 -10/100-Mbit以太网、 -microSD™卡、 -USART、 -带音频输入和输出插孔的SAI立体声音频DAC、 -ST-MEMS数字麦克风、 -SDRAM(美光128Mb的MT48LC4M32B2,能够使用8MB)、 -Quad-SPI闪存(美光16MB的N25Q128A)、 -带电容式多点触摸板的4.3英寸彩色LCD-TFT(480X272)、 -SPDIF RCA输入等)和开发其应用。 -Arduino™ Uno V3连接器可轻松连接用于用户特定应用的扩展板或子板。 -集成的ST-LINK/V2-1提供了用于STM32的嵌入式在线调试器和编程器。
2.ESP32-S3 是一款低功耗的 MCU 系统级芯片 (SoC),支持 2.4 GHz Wi-Fi 和低功耗蓝牙 (Bluetooth® LE) 双模无线通信。芯片集成了 Xtensa® 32 位 LX7 双核处理器、超低功耗协处理器、Wi-Fi 基带、蓝牙基带、RF 模块以及外设。芯片的功能框图如下图所示。
## 软件环境 考虑到固件比较大,只有STM32F7508拥有16MB外置FLASH,故将Smooth移植到STM32F750平台。而ESP32-S3支持WIFI和蓝牙,可以作为外设与STM32F750通过USART通讯方式进行协同。 首先采用的软件平台是Visual Stdio 2022 + VisualGDB,主要是因为Smooth编程是C++语言,而且Visual Stdio调试功能较强,但是由于STM32F750内置FLASH只有64k,采用了各种方法(BOOT方式,混合方式)折腾了一个多月有没有成功,最终只能放弃。 通过尝试各种方案最终采用ARM Keil MDK作为调试器,ARMCLANG V6编译器,基于 LLVM 和 Clang技术。Visual Stdio Code作为代码编辑和查看。STM32CubeMX作为STM32F7508-DK的基础代码,芯片管脚分配,时钟设置软件。 ARM Keil MDK还要STM32F7XX芯片驱动包。
必要的插件(C/C++及其扩展包,中文语言包,keil插件)
芯片设置
由于STM32F7508N芯片内部FLASH只有区区的64KB,而且内置RAM只有320K,对于项目来说,两者都不够,必须使用外部FLASH及外部SDRAM。本来尝试过混合模式,对于单单FreeRTOS+LVGL还可以成功,但是增加Smooth模块后内置FLASH空间就不够了,估计是C++的支持运行库太大。只能采用Bootloader加APP方式,Bootloader放在内部FLASH,APP放在外置FLASH中。不过这种方式在开发中也遇到好几个大坑,足足耽误了一个月时间,还好最终还是成功了。
点赞
回复评论 (1)
沙发
qwert1213131
很不错,谢谢分享
点赞
2022-10-20 10:23
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
用C#如何封装函数生成dll文件
EEWORLD大学堂----正点原子LWIP视频教程
求程序
芯片比着看
【TI荐课】#电子电路基础知识讲座#
CC2480+AVR 大家有没有用过?CC2480的供货情况及价格如何?
请问哪位朋友有《晶体管电路设计》“上”的最后几页?
ADI是不是以后要做数字电源了?
突破性德州仪器体声波(BAW)技术在信息洪流中推进大数据发展
FPGA学习笔记-----FPGA的竞争冒险
verilog中要用到一个工作时钟,另一个是计数时钟,可是always不能嵌套,该怎么解决
SABER仿真Boost-pfc电路
关于AVR上移植uC/OS-2的一个简单问题
美国福禄克公司(FLUKE)5080A 多功能多产品校准器视频介绍和操作指南(刘国琨)
分享:元器件失效分析方法
BCD码件减一的问题
TI 直播“煮酒数创客,看如何让好创意发生”直播入口已开放!(已结束)
VMware Workstation下的驱动
我在布线之前,就已经设置了布线规则,但是自动布线的时候还是没有按照我的规则
380V交流电怎么整出500V的直流电
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复