使用raspberry pi Pico的原因

在硬件产品(单片机)的开发中我们往往需要借助一些额外的仪器/设备进行产品的辅助测试, 假设我们需要一个IO+ADC类型辅助设备, 以往的做法是 原理图->PCB->程序, 而现在随着开源硬件的流行很多时候我们没有必要在重复造轮子。 arduino,raspberry pi,micro:bit,raspberry pi Pico等都是不错误的选择。其中raspberry pi Pico是后来者,并且支持C 和 MicroPython编程,入门比较简单,单片机开发者可以无门槛上手,几乎没有学习成本。

问题来了

我使用的是MicroPython开发方式,客户端工具使用Thonny。

当我不小心写了一个错误的python程序并且将其下载到Pico运行的时候。

错误的程序如图:

会出现以下问题:

WARNING:root:Unexpected echo. Expected b'%Run -c $EDITOR_CONTENT\r\n', got b'TypeError: function takes'

Connection lost (EOF)

Use Stop/Restart to reconnect.

如图:

解决方法

python是解释形语言,我们下载进去的程序其实仅仅是一个文本文件。python仅在运行且运行到该错误行时才会报错。

一些修复尝试

按照我的理解如果用户程序错误,不应该也不至于造成整个系统的瘫痪。 然而上述这个错误我尝试了很多办法都无法解决, 包括重新下载MicroPython的.uf2文件

强制擦除MCU的Flash

于是我想起了j-link,因为raspberry pi Pico本身就是一个Cortex-M0内核的单片机,

注意选择的是M0_0内核, 因为Pico有2个核。

如图:

或者直接点击快捷键 [F4]

擦除成功

重新连接 Pico,提示更新MicroPython固件(因为刚才擦除了flash),点击更新

至此,Pico满血复活

总结

因为Pico我也是刚接触,不确定是否是固件bug,可能还有其他更好的解决方案。以上方法并不是一个非常好的解决方案,因为并不是所有人都有j-link的。

友情提醒

在Thonny的编辑中,我们是可以 [F5] 先试运行程序的。即使程序有问题因为并没有保存到MCU中,所以并不会造成如上的变砖问题。

raspberry pi Pico使用MicroPython变砖后的解决方法的更多相关文章

  1. 在 raspberry pi pico 上体验 MicroPython

    raspberry pi pico 官方提供 2 种开发方式,其中一种是使用 python3 开发,树莓派提供了 MicroPython 固件,把这个固件烧录进去,就可以 在 pico 上跑 pyth ...

  2. 上手 Raspberry Pi Pico

    什么是 PICO Raspberry Pi Pico 是树莓派推出的一块基于 Arm Cortex-M0+ 内核的 MCU 的开发板,使用的 MCU 是树莓派自己研发的 Arm Cortex-M0+ ...

  3. openwrt 路由器变砖后修复方法

    https://wiki.openwrt.org/doc/howto/generic.debrick 变砖后需根据类型进行修复,主要有以下四种: (1)if only something on the ...

  4. 1970年// iPhone “变砖”后可继续正常使用的解决方案

    0.解决方案 说话先说重点,“变砖”后的iphone怎么正常使用. 拆开后盖,给电源和处理器之间断下电就OK了. 1.事件来源 对于iPhone和iPad,把时间手动设置到1970年5月以前会出现“变 ...

  5. vi命令【方向键】变字母键的解决方法

    vi命令[方向键]变字母键的解决方法   最近在SSH下玩Debian发现了一个有趣的现象,就是在一些个别版本的Debian镜像下,使用vi命令时会出现键盘输出出错的现象,使用方向键时会变成C,D等字 ...

  6. 误把Linux运行级别设置为6后的解决方法【转】

    本文转载自:http://www.wuji8.com/meta/841011126.html 误把Linux运行级别设置为6后的解决方法     我们知道,Linux有7个运行级别,而运行级别设置为6 ...

  7. [RN] Android 设备adb连接后unauthorized解决方法

    Android 设备adb连接后unauthorized解决方法 安卓设备usb或者adbwireless连接后输入adb device后都是未授权状态 相信很多同学都会遇到这种情况,除了一直重复开关 ...

  8. Android 动画 setVisibility 后出错解决方法

    ===先说明下背景. 写的是个ListView 设置 adapter,并在列表末尾显示加载更多,点击 加载更多 时, 变成一个 圆环形的加载动画和 正在加载. 说明下,这个 加载动画是自己做得,一个圆 ...

  9. hanlp在Python环境中的安装失败后的解决方法

    Hanlp是由一系列模型与算法组成的javag工具包,目标是普及自然语言处理再生环境中的应用.有很多人在安装hanlp的时候会遇到安装失败的情况,下面就是某大神的分享的在python环境中安装失败的解 ...

  10. 【海淘域名】GoDaddy账户被锁定后的解决方法

    转载自[美国海淘网]http://www.usahaitao.com/Experience/Detail_2886.html   通过ICANN申诉顺利的从国内无良奸商(35互联与商务中国,小编的域名 ...

随机推荐

  1. 我真的,AI框架的编程范式怎么理解?

    我给领导汇报AI框架用函数式编程好,没讲明白,说函数式就是写函数那样方便,都被领导吊飞了,啥玩意,写啥不是写函数,狗屁不通! 网上搜说用tensorflow那就是用声明式编程,用pytorch就是命令 ...

  2. XCTF-CGfsb

    考察知识点 PWN.格式化字符串漏洞 题目链接 https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&am ...

  3. Echarts: 同时显示柱状图和前端

    完整代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  4. 好用工具: windows terminal

    直接在微软商店搜索该软件即可,本文介绍无法使用微软商店的情况. 解题思路 当我们无法下载某个软件时,可直接去Github中寻找该项目,知道该软件资源并下载. 下载地址 https://github.c ...

  5. FJOI2022 游记

    2022.3.28 省选延期,延到了4.16 2022.4.11 省选又延期,延到了5.2 FJOI 要回来了!! Day -7 开始停课了 QwQ Day -6 打摆 Day -5 打摆 不行,我不 ...

  6. vue 实现 pdf 预览功能

    1 技术背景 1.1 Vue.js 简介和特点 Vue.js 是一种用于构建用户界面的渐进式框架.它具有以下特点: 易学易用:Vue.js 的 API 设计简单直观,使得开发者可以快速上手. 响应式数 ...

  7. 反汇编ARM程序的技术靠谱吗?——揭秘ARM架构二进制程序的反汇编技术现状

    ​  本文系原创,转载请说明出处 Please Subscribe Wechat Official Account:信安科研人,获取更多的原创安全资讯 参考发表在2020年软工顶会ISSTA的论文&l ...

  8. MySQL 慢查询探究分析

    背景: 性能测试过程中,数据库往往是造成性能瓶颈之一,而数据库瓶颈中sql 语句又是值得探究分析的一环,其中慢查询是重点优化对象,在MySQL中,慢查询是指查询执行时间较长或者消耗 较多资源的查询语句 ...

  9. JAVA语言基础day01

    笔记: Java开发环境: java编译运行过程: 编译期:.java源文件,经过编译,生成.class字节码文件 运行期:JVM加载.class并运行.class(0和1) 特点:跨平台,一次编译到 ...

  10. [项目源码] JavaWeb校园宿舍管理系统

    jsp校园宿舍管理系统源码,采用Servlet+JSP+MySQL.包含数据库文件,界面采用bootstrap,简洁大方. 项目导入eclipse后的目录结构如下: 关注下面公众号,下载源码