首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

microPython源码分析.1

最近写了很多microPython程序,越写越回不到写C日子。你说在这个背后是如何实现这一切为什么烧录一个几百kbbin文件之后就会获得这些魔法效果?...可不可以把这种魔法效果移植到别处呢?找了很久,零零碎碎,而且大多数文章都是适可而止,让很难受。。。想所有的一切都可以源码中获得。...我们将会在这个过程中学到什么: 交叉编译技术 环境搭建技术 c模块编写 py接口编写 代码组织 内在原理 驱动移植 待续 ? 这里 mpy最早是stm32上面实现,后面是移植到各种平台上面。...这次硬件想使用ESP32,说说一些取舍,首先是资料丰富,各种层次资料都比较齐全,而且是官方是比较积极更新。...整个过程是阅读为主,所以需要一款文本阅读器。要求首先是要可以搜索,然后就是最好可以把里面的函数对象和宏定义对象显示出来。这里先使用VSCode来读,当不满足需求时候来搭配其它软件读取。 ?

1.3K51

Polaris - 静态代码分析

SAST - 一种对源代码分析或构建过程中去寻找安全漏洞工具,是一种软件开发生命周期(SDLC)中确保安全重要步骤。...如果你希望指定不同配置文件名,你可以 polaris 命令中使用 -c 选项。 项目根目录运行 polaris setup 以生成通用 polaris.yml 文件。...运行 polaris configure 以确认你文件语法上是正确并且 polaris 没有任何问题。...Capture - 捕获 YAML 配置文件可以包含三种类型 Capture: Build(构建) - 运行构建命令,然后分析结果 Filesystem(文件系统) - 对于解释型语言,提供项目类型和要分析扩展列表...name: ${scm.git.commit} date: ${scm.git.commit.date} capture: build: buildCommands: # 如果构建过程很复杂

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

microPython字节技术

或者,某些或所有模块可实现为冻结字节码:大多数平台上,这样可以节省更多RAM,因为字节码直接从闪存运行而没有存储RAM中。...垃圾回收”(GC)进程回收该内存,并将其返回到空闲堆。这个过程自动进行,但可通过发出 gc.collect() 来直接调用。...Micropython技术是依赖Byte Code执行,在编译阶段就将py文件先转换成mpy文件,通过mpy-tool.py生成Byte Code,Byte Code执行时会依赖Virtual...MicroPython通过哈希值和长度进行字符串比较从而尽可能地保证性能。 qstrdefs.generated.h主要在qstr.h和qstr.c中被include。...ports/esp8266/——运行在Espressifesp8266 SoC上MicroPython版本。 ——32个微端口上运行python/Espressif版本。

1.3K30

嵌入式 Python: BBC micro:bit 上构建游戏

本教程中,您将学习: 什么是嵌入式开发以及为什么要使用 Python 来完成它 嵌入式系统上运行 Python 硬件和软件选项是什么 当Python是一个非常适合嵌入式系统时,它不 如何使用MicroPython...如果他们指令前加上“西蒙说”,那么小组就必须这样做。如果他们没有先说“西蒙说”情况下给出指令,则该小组必须忽略该指令。为了让我们游戏更简单,我们将只专注于提供指令部分。...MicroPython 文档:micro:bit 上 Python 高度可读文档 BBC micro:bit 上构建贪吃蛇游戏:更复杂游戏教程,带您慢慢完成整个过程 Micro:bit 教育基金会最近发布了...标记为 MicroPython Hackaday 项目:该站点提供了人们构建项目的文章,可以给您一些灵感!...本教程中,您学习了: 什么是嵌入式开发以及为什么要使用 Python 来完成它 嵌入式系统编程和通用计算机有什么区别 哪些选项可用于为嵌入式系统编写Python代码 如何使用MicroPython

1.5K30

MicroPython 标准微库解读.1

help('modules') 你可以使用help查看模块帮助 正式说库之前,需要插一下下面这个东西: https://github.com/micropython/micropython-lib...这个库里面放着这些东西 MicroPython 特定库 ============================== 这些是专门为 MicroPython 上使用而编写库。...某些情况下,这些库灵感来自或基于等效 CPython 标准库,但兼容性各不相同。这些库通常以“u”前缀命名。 其他库是专门为 MicroPython 用例编写。...但是看完再ffiunix目录里面,这个结果不稀奇 因为unix哲学就是万物皆文件 这是时间库,其实觉得这个源码可能不是 因为文档里面的方法在这里面都没有体现 https://github.com...编码过程将 24 位输入位组表示为输出4 个编码字符字符串。从左到右,a24 位输入组由 3 个 8 位输入组串联而成。

86920

使用Makefile构建Docker

使用Makefile构建Docker 刚开始学习docker命令时候,很喜欢一个字一个字敲,因为这样会记住命令。后来熟悉了之后,每次想要做一些操作时候就不得不 重复输入以前命令。...GNU(GNU's Not Unix)是一个类Unix系统, 目标是创建一套完全自由操作系统。Linux出现之前,GNU已经完成了除了内核之外大部分软件。...防止target和文件名一样 当我们设置target和当前目录下文件名一样的话,target会被忽略,所以,通常,我们把target都用做phony target。...Docker构建指令 常用Makefile如下 NAME = ryan/airflow VERSION = 1.10.4 .PHONY: build start push build: build-version...make build 构建完毕,运行一下镜像,看看内容是否正确 make start 最后推送到docker仓库 make push 参考 Make命令教程 GNU、Linux和GNU/Linux之间关系

3.6K30

linux下,Makefile是啥??

为什么要学习Makefile? Linux环境下程序员如果不会使用GNU make来构建和管理自己工程,应该不能算是一个合格专业程序员,至少不能称得上是Unix程序员。...Linux(unix)环境下使用GNUmake工具能够比较容易构建一个属于你自己工程,整个工程编译只需要一个命令就可以完成编译、连接以至于最后执行。...最好不要用“GNUmakefile”,是GNUmake识别的。...(这有点像一个堆栈过程) 当然,你C文件和H文件是存在啦,于是make会生成.o文件,然后再用.o文件生 成make终极任务,也就是执行文件main了。...执行过程中,如果出现错误,比如被依赖文件找不到,那么make就会直接退出,并报错,而对于所 定义命令错误,或是编译不成功,make根本不理。make只管文件依赖性。

1.1K20

【ST开发板评测】使用Python来开发STM32F411

板子申请了也有一段时间了,也快到评测截止时间了,想着做点有意思东西,正好前一段时间看到过可以MCU上移植MicroPython示例,就自己尝试一下,记录移植过程。...MicroPython是什么 ? 程序猿中有句俗语: 人生苦短,用Python。 Python强大和易用性让它不仅可以写网站,编程序,嵌入式领域也有一席之地。...正好MicroPython支持本次申请Nucleo-F411RE开发板,就试着把刷成MicroPython固件,尝试一下使用Python来开发STM32,具体移植过程。...打开DfuSeDemo软件,选择已经下载固件:NUCLEO_F411RE-20190604-v1.11-25-gce8262a16.dfu ? 点击Upgrade升级,弹出界面,点击“是”。...,会在电脑上显示一个PYBFLASH盘符,但是这次移植并没有出现,不知道是什么问题。

2K20

i.MX RT助您跨界AI ——5. 从穿糖葫芦到织深度神经网络

不急不急,看到后面就明白啦:) 为什么是深度神经网络 深度学习基础是构建多层神经网络(NN)。 神经网络作为深度学习基础技术,模型表达能力强,尤其是善于处理非结构化多媒体数据。...而且,主角MCU上也都是跑得动构建块从运算结构上看,大多是主运算搭配后加工方式。 主运算和后加工常见种类都屈指可数: ? 是不是很有一种三板斧打天下感觉?.../tree/mfn_demo 等等,谁看到了一个似曾相识字眼——micropython!...没错,这个demo就是构建micropython和OpenMV软件基础上,借助了OpenMV-RT项目中图像提取与人脸检测功能,并使用python编写demo业务逻辑。...过程很简单,先站在镜头前面摆好pose,openmv软件会在100ms内迅速地检测出你可爱小脸蛋,然后切成64x64点再送给MobileFaceNet过一遍,得出128个数存进数据库。

59320

ESP8266上MicroPython入门(1)

上节简单得介绍了一下开发板,这节开始说一下为什么要用python开发,以及别的开发模式. ?...以自己现在得学识其实是说不出个所以然得.如果非要说,觉得就是wifi这种连接方式很多指标是取得了一种平衡.比如传输速率,容量,开发得门槛.以及一些高层应用,快速组网等.当然也不能吹得过头,总之就是还得看自己得需求来选择...轻量级 Lua语言官方版本只包括一个精简核心和最基本库。这使得Lua体积小、启动速度快,从而适合嵌入别的程序里。...(也有些看不懂...高级特性俺还用不到)......看看热闹就行 用NodeMCU好处是入手容易Lua与MicroPython相对于Arduino C来说要简单很多,所以学习其编程是非常快...----------是迷人得分割线------------------------------------------------ 终于要开始吹MicroPython了!!!!!!!..

1.2K30

基于micropython数字滤波器

,考试前特意巩固离散系统没怎么考,拉普拉斯没怎么考,上场前画了个信号流熟悉了熟悉梅森公式热热身也没考,滤波器也没按正常套路考。。。。。...首先向这位前辈大师表示敬重,最近一直找相关资料,micropython社区发现了这位大师,他有很多基于micropython好玩有趣开源代码,mark一下。...主要是基于micropython开发板快速数字滤波器实现,开发板如图所示,板载STM32F405 数据采集过程中采集到数据往往不直接使用,而是经过一定过滤以后才使用,原因是因为这些信号中包含了各种噪声...主要实现了上述两种滤波器.计算对象是32位有符号整形,micropython开发板中,滑动平均需要8微秒,FIR需要15微秒来获得一组典型系数。...第一个asm.py是一个演示文件,演示了汇编语言micropython使用 第二个avg.py和第三个avgtest.py是滑动平均滤波代码实现以及实例代码 后面全是fir滤波器代码实现以及多个实例代码

1.5K60

尝尝MicroPython控制单片机

也可以自己到官网下载,已经下好,大家可以找我索取当前最新板micropython-1.13 http://www.micropython.org/download/ ?...编译mpy-cross, mpy-cross是一个micropython辅助工具,在编译过程中会用到,micropython源码根目录中输入命令make -C mpy-cross ? ?...至此修改完毕,可以编译,micropython根目录下输入命令 make -C ports/stm32 BOARD=BODEBOARD ? 等待编译完成。 ?...编译好固件怎么样复制到windows主机呢,当然你可以直接去生成目录底下拷贝,win10 linux子系统中默认已经将windows分区挂载好了,我们可以/mnt目录下看到 ?...至此就可以用python编写很多好玩东西单片机上跑了。 6. 参考文档 序号 文献 1 www.micropython.org

1.5K20

PP-数据建模:明明删除了重复项,为什么还是说有重复值?

最近,有朋友在用Power Pivot构建表间关系时候,出现了一个问题:明明已经删除了重复项,但构建表间关系时候,还是说两个表都有重复数据!...如下图所示,以姓名列为基础进行删除重复项: 结果没有找到重复值: 为什么呢?表中第2/3,4/5,6/7,8/9看起来不是一样吗?...那到底是为什么呢? 我们先通过非重复计数函数来算一下,到底有没有重复数据: 好嘛!表中明明有9行数据,非重复计数结果却是5!...啰啰嗦嗦写了这么鬼长,其实就一个核心知识点:文本后面的空格Power Pivot中被忽略(删除)了!大家还可以尝试用更多方法去验证它。...不过,这个找到问题原因过程,希望对大家有点儿启发。 ——感谢您耐心阅读!

3K20

FlowShutter-硬件原理即&代码解读

当你看到这个,hhhh 后面有两组串口可以连接除SBUS以外RC接收机,至于为什么不支持,觉得是因为反相器问题,至少是支持IBUS。...uasyncio 往往是构建 IO 密集型和高层级 结构化 网络代码最佳选择。 Sony串口设置,用串口2。 具体是什么编程思想?...目的是设计驱动程序,使应用程序驱动程序等待硬件响应时继续运行。应用程序仍然响应诸如用户交互之类事件。等待机器回复时间内,再做一些别的事情,比如更新一下UI。...接地触发,施密特3V3触发,在这个文件里面实现 支持比较遗憾是设置这部分没有写,使用是json文件,很有新意方式 https://pypi.org/project/micropython-uasyncio...://docs.micropython.org/en/latest/library/uasyncio.html https://github.com/peterhinch/micropython-async

37010

pyMagic:用python控制Geek入门神器

0x01 缘起 大家都知道,如果要对一个MCU进行控制的话,一般方法是需要写基于c或者asm语言代码,再经过专业编译器编译后,再通过工具下载到芯片中,才能够完成整个开发过程,当然还免不了有多次调试。...这个过程肯定有很多g点,触之则痛。记得,刚开始学51单片机时候,安装到下载进去第一个程序花费了几天时间,才点亮了第一个LED灯。...后期看到了micropythonKickstarter上进行筹款,正好满足这方面的想法,所以就一直在跟。...由于micropython官方出品硬件-pyBoard价格较高,而且micropython遵照MIT协议。...0x03 人生苦短快用python 比如说,现在要点亮一个板子上面的一颗led灯珠,那么pyMagic上面只要做这么几步: 第一步:插入U盘,不,插入pyMagic,然后电脑上面会弹出来一个名称为PYBFLASH

1.3K50
领券