MicroPython 片上psrom的支持,并将多个bin合成为一个bin

        前两天在github上下载的MicroPython 版本1.20.0,怎么配置都无法开启片上psrom的支持,折腾了一周,都自我怀疑了,最后更新版本为1.23.0一编译直接就过了。。。下面记录下过的,过程,这边使用的是四线SPI的片上版本

以编译指令为:make BOARD=ESP32_GENERIC_S3  例子

1、去目录下micropython-1.23.0/ports/esp32/boards/ESP32_GENERIC_S3

检查 mpconfigboard.cmake 文件是否包含    boards/sdkconfig.spiram_sx  如果不包含请添加这个配置文件

2、检查 sdkconfig.board 文件 记住CONFIG_ESPTOOLPY_FLASHFREQ_选项的相关速度,psram的总线速度要与其flash一致

3、去目录micropython-1.23.0/ports/esp32/boards下,打开sdkconfig.spiram_sx文件

根据你的芯片对psram进行配置,我这里如下:

CONFIG_SPIRAM_MODE_QUAD=y  四线SPI

CONFIG_SPIRAM_TYPE_AUTO=y    psram类型自动判断我这里是2MB的片上psram

CONFIG_SPIRAM_CLK_IO=30     时钟线的gpio号,这里不是芯片引脚号

CONFIG_SPIRAM_CS_IO=26    是能gpio号

CONFIG_SPIRAM_SPEED_80M=y   spi速度

CONFIG_SPIRAM=y  打开psram

CONFIG_SPIRAM_BOOT_INIT=y  在启动时就初始化psram

CONFIG_SPIRAM_IGNORE_NOTFOUND=y   如果遇到初始化psram失败停止启动,但是这里好像不生效

CONFIG_SPIRAM_USE_MALLOC=y  直接使用malloc函数就可以申请psram内的空间

4、执行  make clean  然后  make BOARD=ESP32_GENERIC_S3,这里一定clean一下,以前没这一下总是编译失败,编译完后会生成build-ESP32_GENERIC_S3文件夹

5、去micropython-1.23.0/ports/esp32/build-ESP32_GENERIC_S3目录下打开sdkconfig文件,检查我们的配置有没有生效,这个文件夹是espidf的配置文件,一致就是设置OK了,不一致就是设置有冲突,如下:

跟自己的配置一致,那么大概率你就成功了,启动板子查看自己的成果吧。

同理其他的配置你也可以自己配置按照这个流程,我就将自己的cpu频率设置为240Mhz了,在sdkconfig.board文件添加了:

CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y

CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240

后面就靠大家看sdkconfig内的所有配置,然后自己举一反三了。

6、然后再说说linux下多个bin合成1个bin。

生成一个159MB的空白bin文件,名称为micropython_end.bin

dd if=/dev/zero of=micropython_end.bin bs=1 count=1590288

将bootloader.bin添加到micropython_end.bin里,位置为0
dd if=./build-ESP32_GENERIC_S3/bootloader/bootloader.bin of=micropython_end.bin bs=1 seek=0 conv=notrunc

将partition-table.bin添加到micropython_end.bin里,位置为32760(0x8000)
dd if=./build-ESP32_GENERIC_S3/partition_table/partition-table.bin of=micropython_end.bin bs=1 seek=32768 conv=notrunc

将micropython.bin添加到micropython_end.bin里,位置为65536(0x10000)
dd if=./build-ESP32_GENERIC_S3/micropython.bin of=micropython_end.bin bs=1 seek=65536 conv=notrunc

这些执行后三个bin就合成到micropython_end.bin了,到时候直接在0地址下载micropython_end.bin到芯片就可以了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1534397.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

我平时是怎么找客户的?今天我的实战技巧,分享给大家

我常用的几个方法 1、利用WhatsApp,找客户的号码,去进行营销 学会这个方法,WhatsApp账号都能被你找到http://mp.weixin.qq.com/s?__bizMzg2MTcxNzAwMg&mid2247498845&idx1&sn039a87d60094cf6c166e2cf5e1f94a69&chksmce106…

【黑神话】无脑过大头怪(幽魂)教程,手残也能打过关!

在《黑神话悟空》这款扣人心弦的动作角色扮演游戏中,玩家将面对众多考验操作与策略的Boss战。其中,大头幽魂作为玩家早期就会遇到的挑战之一,其独特的战斗机制和技能组合,对新手玩家而言无疑是一次不小的考验。今天,就…

【附源码】用Python开发一个音乐下载工具,并打包EXE文件,所有音乐都能搜索下载!

现在听个歌,不是要这就是要那,乱七八糟的,下软件都下不赢。 于是决定加班熬夜来做一个,想怎么听就怎么听,大家自己看到就好,悄悄用,别告诉别人哈~ 好了不闲聊,开整! 首先…

Element-ui el-table 全局表格排序

实现效果如下&#xff1a; 一、当页数据排序 如果只想要当前页面排序&#xff0c;只会涉及到前端&#xff0c;只需在<el-table-column>标签上添加 :sortable"true"即可 二、自定义排序 如果想要全局排序&#xff0c;需要自定义排序函数&#xff0c;请求后台排…

如何进行大模型训练和微调?(实战)

1、在项目中&#xff0c;如果prompt和function calling足够好&#xff0c;尽量不要微调&#xff0c;节约成本。 以下是针对function calling的slot&#xff0c;评估准确率&#xff08;识别准确度&#xff09;、召回率&#xff08;全面率&#xff09;&#xff0c;F1值。 从中可以…

System.out源码解读——err 和 out 一起用导致的顺序异常Bug

前言 笔者在写一个小 Demo 的过程中&#xff0c;发现了一个奇怪的问题。问题如下&#xff1a; // 当 flagtrue 时打印 a1 &#xff1b;当 flagfalse 时打印 a2。 public static void main(String[] args) {boolean flag false;for (int i 0; i < 10; i) {if (flag) {Sys…

基于python的宠物信息交流系统---附源码74885

摘 要 在当今社会&#xff0c;随着人们生活质量的提高和对精神健康的追求&#xff0c;宠物已经成为我们生活中不可或缺的伙伴。与家中宠物朝夕相处&#xff0c;我们与宠物之间建立了深厚的情感纽带。然而&#xff0c;宠物也有可能生病&#xff0c;需要接受医疗护理。与人类一样…

如何利用Samba跨平台分享Ubuntu文件夹

1.安装Samba 终端输入sudo apt install samba 2.配置Samba 终端输入sudo vim /etc/samba/smb.conf 打开配置文件 滑动文件到最底下 输入以下内容 [Share] # 要共享的文件夹路径 path /home/xxx/sambashare read only no browsable yes编辑完成后按一下Esc按键后输入:wq回…

动不动就下跪的三星,离开天津了

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 三星辉煌岁月已过&#xff0c;万事凋零!如果说IBM、惠普、戴尔、苹果、富士康的离开有点惋惜的话&#xff0c;那三星的离开就是“活该”了。 成立于1993年的天津三星电子有限公司与2024年9月6日注销了&#xff0…

基于JavaWeb开发的java ssm springboot+VUE疫情防疫系统系统前后端分离设计和实现

基于JavaWeb开发的java ssm springbootVUE疫情防疫系统系统前后端分离设计和实现 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取…

MySQL字符集的转换

背景介绍 在使用MySQL过程中&#xff0c;如果字符集配置不当&#xff0c;可能会出现插入失败、数据乱码、 索引失效、数据丢失、查询不到期望结果等一系列使用异常的情况。因此&#xff0c;熟练掌握MySQL字符集和比较规则的配置方法&#xff0c;并在此基础上了解MySQL字符集与…

AMD CMD UMD CommonJs ESM 的历史和区别

这几个东西都是用于定义模块规范的。有些资料会提及到这些概念&#xff0c;不理清楚非常容易困惑。 ESM&#xff08;ES Module&#xff09; 这个实际上我们是最熟悉的&#xff0c;就是ES6的模块功能。出的最晚&#xff0c;因为是官方出品&#xff0c;所以大势所趋&#xff0c…

股价跌破1美元!这家激光雷达上市公司被沃尔沃「拖进」ICU

作为目前前装上车成本最高的传感器之一&#xff0c;绝大部分激光雷达初创公司的表现&#xff0c;令人沮丧。“很多时候&#xff0c;前方似乎有一个美好的未来&#xff0c;但事情并不总是按照预期发展。” 比如&#xff0c;作为曾经美股市值最高&#xff08;曾经巅峰期高达120亿…

【kafka-02】kafka集群搭建

Kafka系列整体栏目 内容链接地址【一】afka安装和基本核心概念https://zhenghuisheng.blog.csdn.net/article/details/142213307【二】kafka集群搭建https://zhenghuisheng.blog.csdn.net/article/details/142253288 kafka集群搭建 一&#xff0c;kafka集群搭建1&#xff0c;ka…

C++——深部解析哈希

好久不见给大家分享一张图片吧 目录 前言 二、库文件 1、哈希冲突 2 哈希函数 3、闭散列 三 、闭散列的实现和底层逻辑 1、哈希表&#xff08;闭散列&#xff09;的定义 2、哈希表&#xff08;闭散列&#xff09;的插入 3、哈希表&#xff08;闭散列&#xff09;的查找 4.哈希表…

灵雀云DevOps:加速应用交付,点燃业务创新引擎

导语 近日&#xff0c;国际知名咨询机构Gartner发布了2024年度DevOps平台魔力象限报告&#xff08;Gartner Magic Quadrant for DevOps Platforms&#xff09;&#xff0c;为信息化决策者在技术战略层面提供了选型和评估DevOps平台供应商的全面视角。报告中&#xff0c;中国云…

MYSQL数据库——MYSQL管理

MYSQL数据库安装完成后&#xff0c;自带四个数据库&#xff0c;具体作用如下&#xff1a; 常用工具 1.mysql 不是指mysql服务&#xff0c;而是指mysql的客户端工具 例如&#xff1a; 2.mysqladmin 这是一个执行管理操作的客户端程序&#xff0c;可以用它来检查服务器的配置和…

DeviceNet网关HT3S-DNS-MDN读取七星华创CS310空气流量计数据应用案例

七星华创流量计CS310系列 (MODBUS RTU) 通过DeviceNet网关HT3S-DNS-MDN 与台达DVP系列的PLC进行交换数据应用案例 一、概述 本文主要介绍使用HI-TOP网关 HT3S-DNS-MDN在台达DVP系列 PLC和七星华创CS310流量计之间进行数据交换。 解决的问题&#xff1a;台达DVP系列如何通过…

pdf怎么压缩的小一点?4个方法帮你一键压缩

pdf怎么压缩的小一点&#xff1f;将PDF文件压缩得更小&#xff0c;不仅可以显著节省存储空间&#xff0c;还能加快文件在网络中的传输速度&#xff0c;让分享与备份变得更加便捷。特别是在处理大型文档或包含高分辨率图像的PDF时&#xff0c;压缩功能尤为重要。通过选择适合的压…

运维人员转行 AI 大模型全攻略:史上最详尽总结,一篇在手,转行无忧!

前言 做运维的苦&#xff0c;谁做谁懂。有时候真感觉自己就像个杂役&#xff0c;在公司都快成修电脑的了。不装了&#xff0c;我要转行&#xff01;在此给大家分享点经验&#xff0c;希望能帮到你们。 运维工程师若要转行至大模型领域&#xff0c;需要学习一系列全新的技能与…