读I2C数据时,要先发出设备地址,这是写操作,然后再发起读操作,涉及写、读操作。所以以读I2C数据为例讲解核心代码。
资料下载 coding无法使用浏览器打开,必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 硬件_8080接口LCD时序分析 参考资料,GIT仓库里: 8080接口LCD 接口原理图:其他资料\STM32F103\原理图\100ASK_STM32F103_V10_0707FINAL.pdf LCD数据手册: 其他资料\STM32F103
资料下载 coding无法使用浏览器打开,必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 硬件_TFT-RGB接口LCD时序分析 参考资料,GIT仓库里: TFT-RGB LCD 接口原理图: `IMX6ULL\开发板配套资料\原理图\Base_board\100ask_imx6ull_v1.1.pdf`` ``STM32MP15
从原理图可知,A2A1A0都是0,所以AT24C02的设备地址是:0b1010000,即0x50。
照理来说,USB-CAN这种东西应该已经被做的烂大街的工具,国内居然没有一个拿得出手的开源方案。某立功和PCAN动辄2000+的价格也是离谱。淘宝上各种虚拟串口方案、替换dll兼容某立功软件的各种方案....价格都倒是便宜,性能和可靠性嘛.......就不多说了,上位机软件也是烂的一塌糊涂。
前几天看见阿木实验室,发了一个小云台,研究了一下,发现其实是吊舱,和云台一样的东西,只不过是一般集成到一些UAV上面。比如越野的小车,运动时,晃动,影响摄像头成像质量。
参考资料:STM32F103数据手册.pdf、ARM Cortex-M3与Cortex-M4权威指南.pdf、PM0056.pdf
这个位带的意思,就是每个比特(bit)位膨胀成一个32位的字(word),当访问这些字的时候就达到了访问“位”的目的,这就是位带操作!
上一篇笔记分享了STM32的串口IAP实例:STM32串口IAP分享。其中,下载IAP程序时用ISP的方式进行下载。这里的ISP又是什么呢?
从github获取节点源码https://github.com/Lora-net/LoRaMac-node/tree/develop,可以看到最新的源码是v4.4.2。
1、上百张图文并茂C++速查表 https://hackingcpp.com/
1、ARM全面进军虚拟硬件开发 今年2月份末,ARM正式上线虚拟硬件开发,虚拟硬件是 Cortex-M 设备子系统的精确仿真模型,专为复杂的软件验证和测试而设计,面向嵌入式,物联网和机器学习设计一条龙。
说明: 1、我们这里是使用一个网络协议栈管理两个网口。 为了将DM9000驱动做稳定花了很多时间去研究,专门制作了一个符合CMSIS-Driver驱动规范文件。 2、网络性能。 H7双网口性能: (1)DM9000速度99.7Mbps (2)DM9162速度99.8Mbps F429双网口性能: (1)DM9162速度99.9Mbps (2)DM9000速度75Mbps F407双网口性能: (1)DM9162速度99.8Mbps (2)DM9000速度73.7Mb
上篇介绍了STM32MP57-DK1开发板官方系统的烧录。那个系统包含Linux系统的基础功能,如果要进行Qt开发,还需要重新构建带有Qt功能的镜像
下载链接:en.SOURCES-tf-a-stm32mp1-openstlinux-5-10-dunfell-mp1-21-11-17_tar.xz[1]。
教程更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=108546 第1章 ThreadX USBX初学准备工作 俗话说万事开头难,学习一
STM32逆变器电源设计方案,基于STM32F103控制器: ★原理图和PCB(其中原理图为PDF文档) ★逆变器电源设计说明 ★逆变器电源源代码( STM32C8T6,实现过压,欠压,过功率,和短路保护功能 ) ★SPWM调制生成工具id=638460642538&
STM32MP157 微处理器基于灵活的双 Arm® Cortex®-A7 内核(工作频率 800 MHz)和 Cortex®-M4 内核(工作频率 209 MHz)架构,并配一个专用的 3D 图形处理单元(GPU)、MIPI-DSI 显示接口、以及一个 CAN FD 接口。
事隔五年之后,开启第2版DSP数字信号处理和CMSIS-NN神经网络教程,同步开启三代示波器,前50章发布(2021-11-02) 说明: 1、第1版DSP教程发布于2014年末,纪念下:http:/
Linux内核(英语:Linux kernel)是一种开源的类Unix操作系统宏内核。整个Linux操作系统家族基于 该内核部署在传统计算机平台(如个人计算机和服务器,以Linux发行版的形式)和各种嵌入式平台,如路由器、无线接入点、专用小交换机、机顶盒、FTA接收器、智能电视、数字视频录像机、网络附加存储(NAS)等。工作于平板电脑、智能手机及智能手表的Android操作系统,它的底层操作系统也是Linux。尽管在桌面计算机的占用率较低,但基于Linux的操作系统统治了几乎从移动设备到主机的其他全部领域。实际Linux的发行版Ubuntu,其易用性也逐渐接近Windows。
Linux平台上有许多开源的嵌入式linux系统构建框架(框架的意思就是工具),这些框架极大的方便了开发者进行嵌入式系统的定制化构建,目前比较常见的有OpenWrt, Buildroot, Yocto,等等。其中Buildroot功能强大,使用简单,而且采用了类似于linux kernel的配置和编译框架,所以受到广大嵌入式开发人员的欢迎。
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710 说明: 1、各种的CDC,HID,MSC,虚拟网卡,WinU
说明: 1、串口作为经典的调试方式已经存在好多年了,缺点是需要一个专门的硬件接口。现在有了SEGGER的RTT(已经发布有几年了),无需占用系统额外的硬件资源,而且速度超快,是替代串口调试的绝佳方式。 2、RTT的API可以在中断和多任务环境中正常调用。并且JLINK处于MDK或者IAR的调试状态,RTT功能依然可以正常使用。最重要的是速度非常快,普通的JLINK也可以飙到几百KB/S。 3、当前版本的JLINK都支持此功能,含V8,V9和V10。 4、RTT Viewer小软件支持多个虚拟端口消息展示,比如用户可以一个用于标准输出,一个用于错误输出,另一个用于调试输出。根据需要还可以再增加输出窗口。
上篇文章介绍了STM32MP157D-DK1开发板Qt镜像的构建,通过在Ubuntu中重新编译带有Qt功能的系统来实现。
根据电路设计,外部使用8M,通过PLL到168M因此在sys_gd32f4xx.c文件中选择宏定义:
本文将以Myirtech的MYD-YF13X以及STM32MP135F-DK为例,讲解如何使用STM32CubeMX结合Developer package实现最小系统启动。
hex文件位置: 工程文件夹 -> Progect文件夹 -> output文件夹
看上图,选择122号中断,它是SPI里的122号中断,GIC里的编号是(32+122)=154。
有Windows和Linux两种,这里介绍在Ubuntu虚拟机的Linux系统中安装的操作步骤。
这是为了给接下来的Linux下嵌入式开发打好基础,尽快熟悉Linux下c编程,但是在开发stm32的时候,编译工具链要使用gcc-arm-none-eabi,为什么不是gcc呢?这就要说到linux下的交叉编译了,因为我们要在PC机上编译出可以运行在ARM上的程序,使用gcc编译出的是在PC上运行的程序,所以我们要使用gcc-arm-none-eabi进行交叉编译~
STM32Cube是ST公司开发的一套生态系统,致力于使STM32的开发变的更简单,并且100%开源免费。
① 使用Busybox手工制作 Busybox本身包含了很了Linux命令,但是要编译其他程序的话需要手工下载、编译,如果它需要某些依赖库,你还需要手工下载、编译这些依赖库。 如果想做一个极简的文件系统,可以使用Busybox手工制作。
Trusted Firmware-A(TF-A)是用于 Arm A-Profile 体系结构(Armv8-A 和 Armv7-A)的安全世界软件的参考实现,其中包括 Exception Level 3(EL3)安全监视器。它为在 AArch32 或 AArch64 执行状态下的安全世界启动和运行时固件产品化提供了一个合适的起点。
注意:使用我们提供的Ubuntu映象文件时,请按照我们的目录结构,手动设置交叉编译工具链以及编译的架构环境变量配置,(建议配置为永久生效),这里我们提供了两种交叉编译工具链,分别是buildroot构建生成的8.4以及yocto生成的9.3工具链,开发板系统默认安装的系统使用的是通过yocto编译构建,所以如果只想针对于文件系统应用做开发或者编译内核uboot等操作,建议只使用yocto的交叉编译工具链。
说明: 1、如果你会emWin话的,就可以轻松制作上位机。做些通信和控制类上位机,比使用C#之类的方便程度一点不差,而且你仅会C语言就可以。 2、并且成功将emWin人性化,可以做些Windows系统上的小应用了,基本完全看不出是emWin做的,而且生成的软件很小。Win32 API编写的软件,最大的好处就是微软的各个系统版本都兼容,而且发布时软件比较小,仅仅一个exe小软件。 3、无需用户自己编写USB BULK驱动程序,详情见教程中1.4小节说明即可。同时,上位机设计中需要用到的各种文档、软件、驱动等,都在教程中都给出了下载地址。 4、教程中将USB BULK上位机和下位机设计中涉及到细节问题,全部毫无保留的进行了说明,可以防止大家少走很多弯路。 5、早期发布的网络摄像头之TCP上位机软件实现也是基于emWin模拟器的,详情见帖子:https://www.cnblogs.com/armfly/p/9173167.html 注意事项: 1、如果想直接测试上位机的效果,务必优先看教程1.4 小节如何安装驱动。 2、关闭上位机软件的时候,右击页面退出,右上角的X号未做响应处理。 3、上位机是用的VC6.0实现的,测试上位机时,只有打开 USB 连接成功了才可以正常操作其它几个按钮。 4、配套的下位机是基于RTX及其USB中间件实现的,推荐使用 MDK4.74 进行编译。当然,使用最新版的 MDK5.2X 也是没问题的, 在Options -> C/C++ -> Misc Controls选项里面添加--diag_suppress 3731即可。
STM32MP157C-DK2 是 STM32MP157C 探索套件,板载信息如下图:
接着上一篇的讲,我们上一篇研究了 GPIO 的硬件结构,其来源于 STM32 官方手册,研究了 GPIO 的八种工作模式和推挽输出及开漏输出原理,接下来我们研究 GPIO 的软件部分,分别从单片机平台和 Linux 平台来研究。
往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 更新一期视频教程: 第
对于嵌入式设备来说,合适的电源管理,不仅可以延长电池的寿命,而且可以省电,延长设备运行时间,在提高用户体验方面有很大的好处。所以,各个soc厂家在这方面花了很多的功夫。下面,我们可以看看linux是如何处理电源管理驱动的。
Libraries/STM32F10x_StdPeriph_Driver:与外设相关,有代表性的如下:
在虚拟的I2C_Adapter驱动程序里,只要实现了其中的master_xfer函数,这个I2C Adapter就可以使用了。 在master_xfer函数里,我们模拟一个EEPROM,思路如下:
他是一个大三的学生,我看了他的简历,里面几乎没什么项目经验,对于企业来说这样的学生就好比一张白纸一样,当然,这样的学生很难拿到一份好的offer。
说明: 1. 首先感谢ST终于推出了ARGB格式的emWin库,可谓千呼万唤始出来,使用STM32的硬件RGB888接口刷新图片慢的问题终于得到解决。 2. 这个问题由来已久,是之前为我们的STM32-V6板子制作emWin模板时发现的。V6板子的硬件配置是STM32F429BIT6 + 32位带宽的SDRAM + 硬件RGB888接口。实际测试中发现,将F429配置为16位色的RGB565,刷新800*480分辨率的图片可以做到15ms左右一帧,而测试24位色的RGB888或者32位色的ARGB8888,
以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越来越模糊。
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设,读取HTS221温湿度传感器的数据并通过串口发送。
百问网技术交流群,百万嵌入式工程师聚集地: https://www.100ask.net/page/2248041
Yocto项目使用更强大和定制化的方法,来构建出适合嵌入式产品的Linux系统。Yocto不仅仅是一个制做文件系统工具,同时提供整套的基于Linux的开发和维护工作流程,使底层嵌入式开发者和上层应用开发者在统一的框架下开发,解决了传统开发方式下零散和无管理的开发形态。
领取专属 10元无门槛券
手把手带您无忧上云