登录社区云,与社区用户共同成长
邀请您加入社区
1、嵌入式端的资源有限,大部分的嵌入式因为成本敏感的原因,flash总的空间大小控制在16M左右,这就导致每一块的资源用量都是严格要求的,所以,RTC通信这一小块的用量要尽可能的低,这也就是我们为什么要将EasyRTC压缩到500K-800K的原因了!2、另外,WebRTC的调用本就是一个很复杂的过程,很难捋清楚脉络,所以,一套行之有效的RTC调用流程封装就至关重要了。
本文为工业AI边缘计算选型指南,深度解析Jetson Orin Nano 4GB与8GB核心差异:GPU核心数、内存带宽、AI算力全面翻倍,8GB版支持多路高帧率视频分析与复杂模型部署。SuperMode可实现70%性能提升,但需良好散热保障。钡铼技术EA230系列基于该平台,EA230Pro在标准版基础上新增4种相机输入方案与Y系列IO扩展,适用于移动机器人、工业质检等复杂场景。选型建议:轻量推
(63)(64)
(9)(10)
(8)(9)
(7)(8)
(4)(5)
本文介绍了在正点原子i.MX6ULL‑Mini开发板上,通过纯汇编实现裸机LED点亮的全过程。从交叉编译工具链搭建、VSCode配置到寄存器级外设操作,详细阐述了引脚复用、电气属性与GPIO方向配置三步走策略,并利用ldr/str指令直接操控寄存器。通过Makefile自动化编译、链接、转换及烧写流程,最终成功将bin文件烧录至SD卡并点亮LED。全程无操作系统干预,深入理解了裸机开发的核心原理与
以应用为中心,以计算机技术为基础,软硬件可裁剪的专用计算机系统。设计考量:功耗、体积、环境适应性、稳定性、可靠性。应用层 APP操作系统 SYS硬件系统硬件系统 + 软件系统(应用软件、系统软件)计算机硬件五大核心部件:运算器、控制器、存储器、输入设备、输出设备。缩写全称简要说明CPU中央处理单元通用处理器,负责核心运算与控制GPU图形处理单元图形图像运算FPU浮点运算单元专门处理浮点数计算NPU
最近在学习 ARM Cortex‑A7 裸机开发,第一天接触大量架构名词:寄存器、异常向量表、MMU、Cache、NOR/NAND Flash。MMU(Memory Management Unit,内存管理单元)作用:完成虚拟地址 ↔ 物理地址转换,依靠页表完成映射;同时做内存访问权限检查、内存保护。裸机开发:关闭 MMU,程序直接操作物理地址Linux 操作系统 / 驱动开发:必须打开 MMU,
ARM 架构功耗低、体积小,广泛应用于单片机、手机、嵌入式设备等场景,Cortex‑M 系列单片机内核仅支持 Thumb‑2 指令集,没有 MMU,Cortex‑A 系列应用内核带有 MMU,可以运行 Linux 操作系统。块设备属于不可寻址外存,CPU 不能直接访问,需要通过对应的控制器,借助 DMA 将数据搬运到主内存后,CPU 才能处理数据,操作系统通过文件系统对块设备进行管理。SoC 是一
arm64适配系列文章-第四章-arm64环境上nacos的部署
在软件开发的世界里,**质量保证**(Quality Assurance)是确保产品可靠性和用户满意度的基石。单元测试作为质量保证的重要组成部分,能够帮助开发者在早期发现并修复代码中的问题。Google Test(简称 gTest)作为一个广泛使用的C++单元测试框架,为开发者提供了强大而灵活的测试工具。本章将深入探讨Google Test的安装方法、主要特点以及单元测试的最终目标。
DESTDIR也可以改一下,这个是安装目录,也可以make install 时改。顺带freeimage交叉编译方法,如果在x86编译aarch64架构的库。在include Makefile.srcs后面输入以下内容。找到这个文件Source/LibPNG/pngpriv.h。找到FreeImage的Makefile.gnu文件。交叉编译的freeimage库,在项目中编译时报错。将root改为
./x264/lib/pkgconfig的意思就是到当前文件目录的上层目录的x264里找需要的内容。从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板。编译完成后在上层目录下会生成ffmpeg目录,可以看图里面的路径。首先我们拿到ffmpeg的源码包,我们要先将它解压压缩。🌺本篇简介:这章记录的是ffmpeg的源码安装。这里的环境变量和之前的x264的安装目录有关的。如何要链上x
外部中断控制LED
可以帮助想了解汇编指令的人,方便记忆汇编指令,了解指令执行周期
树莓派里面有GPU和ARM CPU,GPU先上电运行,然后再引导ARM运行树莓派的GPU底层固件(Bootloader)是闭源的,但可以在此基础上引导自己的U-Boot、Linux kernel,也可以不用U-Boot和Linux,直接引导裸机程序或者RTOS;这种引导方式和Xilinx ZYNQ类似,ARM和FPGA一个先启动一个后启动。一些其它的树莓派嵌入式相关的开源仓库:(1) 运行在 Ra
stm32定时器控制流水灯
寄存器方式点亮LED遇到的Bug
使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集
Uboot关于i2c的命令以及对应调试
安装 stm32CubeMX,用cubemx完成初始化过程,采用HAL库编程实现。在Keil下用软件仿真运行上面代码,并用虚拟逻辑分析仪观察 对应管脚上的输出波形(高低电平转换),看是否是1秒的周期。
STM32WLE移植LoRaWAN_End_Node通信程序
可以rfid识别刷卡,读取RF卡的信息,并将采集到的信息上传onenet云平台,具体功能请看演示视频 全套资料齐全:70-基于Stm32单片机的MQTT系统智能饮水机,RFID刷卡上传onenet云平台(源码+原理图+全套资料)
stm32f4中上升沿或下降沿的采集处理
stm32页编程写入失败
将升级包下载到U盘中,插入到设备中,完成对主程序的升级,无需上位机操作。stm32 U盘升级 bootloader程序。u盘升级的bootloader源码。基于stm32f407。
用来存放数据的一串数据,由包头,包尾和中间的数据组成,数据长度可变,这里使用数据长度4个字节。
调试i2c从机的时候,配置都注册,就是主机读到我的从机的时候就会卡死。摸索了好几天最后发现是clock no stretch mode 没有enable。真是醉了,完全是按照官方例程配置的。如果clock no stretch mode 配置为disable就会卡在地址10这里。...
在创建STM32标准库工程模板时,要在keil的C/C++设置中添加下面的宏定义,注意中间是英文逗号隔开在stm32f10x.h文件中有这样预处理代码# if!!(# if!)# if!&&# if!!(# if!)# if!&&# if!!(# if!)# if!&&# if!!(# if!)# if!&&# if!!(# if!)# if!&&# if!!defined。...
最近在debug在线调试中遇到了一个问题,就是在watch窗口中添加了一个变量或者数组,数组不能展开,value显示cannot evaluate。但是有些时候数组能展开,而且能显示值。 进一步查阅资料知道了产生几个问题的原因。 (对于如何添加变量那些可以参考我最后贴上的文章)目录一.显示cannot evaluate的问题方案1(对局部变量):方案2(对静态变量):二.数组不能展开的问题1.输入
STM32freertos编译 移植
stm32+空闲中断+DMA传输 通信异常:通信中断后连不上
stm32双adc电压采集
go to definition contian a incorret path
基于树莓派4B的Linux驱动------内核定时器控制LED闪烁本人也是接触Linux不久,可能有些问题也没考虑到,以下仅是个人观点,欢迎留言,共同进步,话不多说,直接步入正题。一、实验说明本次实验采用设备树编程开发板基于树莓派4Blinux内核版本:linux-rpi-5.15.y开发平台:ubuntu交叉编译LED为高电平点亮二、修改设备树文件为了方便,我这里是直接在设备树的根目录添加一个节
基于stm32f103c8t6的便携式环境检测仪,主要用来检测温湿度,PM2.5和PM10的浓度以及进行LORA传输和本地数据存储。
RTC简介实时时钟(RTC)是一个独立的定时器。STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC 模块和时钟配置系统(RCC_BDCR 寄存器)是在后备区域,即在系统复位或从待机模式唤醒后 RTC 的设置和时间维持不变。但是在系统复位后,会自动禁止访问后备寄存器和 RTC,以防止对后备区域(BKP)
树莓派解决换源时出现"由于没有公钥,无法验证下列签名"
主频72MHz:最大计时59.65s基本定时器:基准时钟 预分频器 计数器 计数器与自动重装载寄存器进行比较 相等时计时时间到 进行中断相应主模式触发DAC 硬件自动化通用定时器:计数模式不只一种:向上计数:计数器累加到自动重装载模式的值后进行中断相应向下计数:自动重装载模式中的值向下减到0后进入中断中央对齐: 向上计数到自动重装载值中断产生向下自减到0后进行中断的产生定时器级联:初始化TIM3(
stm32中断向量表里有很多中断都很少碰到,但是在CubeMX配置的时候又有本篇文章来记录下stm32 不常见中断1.RCC global interrupt中文资料中基本上没有提及这个中断。我在外网EMCU这个网站找到对于这个中断的叙述,大意是CubeMX配置了RCC global interrupt中断后,当在程序执行过程中改变时钟速度配置的时候会在时钟配置操作结束进入这个中断。看上去是时钟在
DMA的原理DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。DMA的好处:在DMA传送开始的短暂时间内,基本上有两个处理器为它工作,一个执行程序代码,一个传送数据。利用DMA传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要中间媒介。如果通过CPU把一个字节从适配卡传
语音模块接树莓派要注意的问题修改cd /boot/sudo vi cmdline.txt将下面红色部分删除,可能 serial0 这个不相同也可以直接在 SD 卡的根目录下找到 cmdline.txt 直接修改.接线注意电源和地线都要接到树莓派...
关于stm32程序加密的想法
和往常一样,先建立SysTick定时器练习文件夹,并在里面建立SysTick_test和SysTick两个子文件夹。STM32的通用定时器是通过一个可编程预分频器(Prescaler)驱动的16位自动重装主计数器(Counter Period)构成。可以对内部时钟或触发源以及外部时钟或触发源进行计数。定时器发生中断时间的计算方法:查找资料可知:定时时间 = (Prescaler + 1)x (Co
gcc编译stm32,使用printf从串口输出打印信息,并支持浮点数打印
将WD改为HD,再编译错误就消除了,具体原理还不清楚。
对于中断服务函数我们需要注意的是,中断服务函数是有对应的名称的,我们最好自己去复制,不用自己手打,容易出错,如果错任何一个字母的话,就会成为一个普通的函数。同时,中断服务函数本身都是无返回值无形参的,因此不能随意写成别的。对于中断的优先级,中断的优先级和C语言的运算符的优先级一样,数字越小,优先级越高。在中断分为三种优先级:占先优先级,次级优先级也叫响应优先级,最后一个是自然优先级。因为自然优先级
一、什么是中断1.中断即打断,实至CPU再执行当前程序时,由于系统出现了某种需要处理的紧急情况,CPU暂停正在执行的程序,转而去执行另一段特殊程序来处理的出现的紧急事务,处理结束后CPU自动返回到原先暂停的程序中去继续执行,这种执行过程由于外界的的原因被中间打断的情况成为中断。2.中断的作用:中断使得计算机系统具备应对对处理突发事件的能力,提高了CPU的工作效率,如果没有中断系统,CPU就只能按照
arm
——arm
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net