
嵌入式开发基础
文章平均质量分 60
涉及嵌入式开发的一些基础知识
智光实验室
专注物联网技术和应用,用技术阐释人生
展开
-
Ramdisk文件系统的制作
在上述的自己建立文件系统中,第3条用losetup命令把块设备文件/dev/loop0与临时文件/tmp/loop_tmp联系起来了,我的理解是/tmp/loop_tmp必须是块设备文件,所以用/dev/loop0与之相关联,然后对/dev/loop0的操作和对其虚拟盘的操作,就间接作用在文件系统映象/tmp/loop_tmp上。/bin, /dev, /etc, /lib, proc, /sbin, /usr都是不可或缺的目录,建议保留/tmp,/var,不过可以为空。cp –help查看cp 用法。原创 2024-03-12 09:39:10 · 549 阅读 · 0 评论 -
Linux 设备模型浅析之 uevent 篇
通过阅读内核代码就更具体更易理解,所以结合理论介绍和内核代码阅读能够更快速的理解掌。这一序列的文章的目的就是在于此,看这些文章之前最好能够仔细阅读。通过该结构体的定义,就可以知道上面分析的一些回调例程的出处了。就有机会捕捉到这些事件,根据匹配的规则作一定的处理,比如在。目录如何生成的,以及该目录下有些什么文件夹和文件。,但用户空间还没启动,所以这些事件并没有处理,,就是内核向用户空间发出的一个事件通知,使。机制,需要有用户空间的程序配合才行。等命令,以添加和移除设备。的第十四章,会感觉太抽象不易理解,而。原创 2024-03-13 20:53:00 · 1241 阅读 · 0 评论 -
摄像头的工作原理
摄像头的工作原理大致为:景物通过镜头(LENS)生成的光学图像投射到图像传感器表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过USB接口传输到电脑中处理,通过显示器就可以看到图像了。 注1:图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。光电二极管受到光照射时,就会产生电荷。 注2:数字信号处理芯片DSP(DIGITAL SIGNAL PROCESSING)功能:主要是通过一系列复原创 2024-03-07 08:31:32 · 3556 阅读 · 0 评论 -
Linux SHELL脚本编程
enter /etc/profile"" >> /etc/profile exit退出登录,重新用root登录看看输出的语句,得到配置文件的使用顺序: /etc/profile ->~/.bash_profile -> ~/.bashrc -> /etc/bashrc。写在~/.bashrc中,则打开新的终端中就有效 读脚本,了解更多配置文件 读etc/rc.d目录下的系统启动运行的脚本,可以了解/etc下的各种配置文件的作用、如何修改、修改后有什么效果等等。/bin/bash里的#特殊。原创 2024-03-13 20:50:39 · 1232 阅读 · 0 评论 -
WinCE USB驱动架构及术语明析
拿WinCE设备来说,它不像U盘那样功能单一,实质上就是一个Mass Storage设备,WinCE设备跟PC用USB线连接时可以表现为多种形式,可以是一种大容量存储器(Mass Storage),还可以表现为一个网卡(RNDIS),还可以表现成一个串口设备(Serial Class),所以需要一个控制系统,WinCE把这部分分离了出来,做成一层驱动,叫做Controller(控制器),由该层驱动来控制WinCE设备到底表现成一种什么形态。之所以要分层,是为了简化驱动的开发,并提高代码的移植性。原创 2024-03-08 10:10:04 · 633 阅读 · 0 评论 -
wince系统的wifi驱动之wpa_supplicant
例如,在初始化时,android 平台的wifi.c中的 wifi_connect_to_supplicant函数调用wpa_ctrl_open函数创建两个socket,一个是ctrl interface,另一个就是monitor interface,monitor interface这个接口用于监测从wpa_supplicant发出的event事件。外部需要通过调用eloop_register_event或者eloop_register_read_sock来注册一个回调函数,并绑定了一个相应的事件。原创 2024-03-12 09:17:18 · 975 阅读 · 0 评论 -
Wince NK.BIN文件格式
接下来按Record格式:4字节start, 4 字节Length, 4字节CheckSum, Length字节的数据。开始7个字节为 42 30 30 30 46 46 0A 即“B000FF\x0A”,以次来判别文件类型。接下来4字节(DWORD)表示ImageStart, 4字节表示ImageLength。如7字节后的8字节分别为:00 00 00 60 9C FA 33 01。从Record[0]一直到Record[n].nk.bin文件格式。原创 2024-03-06 21:22:44 · 460 阅读 · 0 评论 -
wince+gprs拨号上网总结
2.若有下面的现象:能打开COM口,也能“拨号到*99***1#\",然后很快就显示“已连接的设备”,然后就没动静了,但不能上网,大概过了两三分钟就跳出一个对话框说“与远程计算机的连接断开,请重拨”。端口设置里选的是无硬件流控;改动注册表【HKEY_LOCAL_MACHINE\Drivers\Unimodem\Init] 下"Reset" = "ATZ", 为"Reset" = "AT", 不允许调制解调器复位。+CGDCONT=1,”IP”,”CMNET” (或+CGDCONT=1,IP,CMNET)原创 2024-03-07 21:04:40 · 1348 阅读 · 0 评论 -
单片机如何扩展 I/O 接口
5. 中断方式扩展:通过使用中断控制器芯片,例如74HC541等,将外围设备连接到中断输入引脚,通过中断方式来扩展单片机的I/O接口。3. I2C总线扩展:使用I2C总线芯片,例如PCF8574等,将外围设备通过I2C总线连接到单片机,从而扩展I/O接口。4. SPI总线扩展:使用SPI总线芯片,例如74HC595等,将外围设备通过SPI总线连接到单片机,从而扩展I/O接口。2. 串行扩展:使用串行接口芯片,例如74HC165等,将外围设备通过串行通信方式连接到单片机,从而扩展I/O接口。原创 2024-05-06 14:31:54 · 2135 阅读 · 0 评论 -
FAT32 文件系统详解
其次,FAT32不支持文件和目录的权限管理,因此对于需要严格控制访问权限的场景可能不太适用。另外,由于FAT32是32位的,因此在处理大容量硬盘时可能会出现性能下降的情况。根目录是一个特殊的目录,用于存储文件和子目录的信息。FAT32(FAT:File Allocation Table,32:32位)是一种常见的文件系统,用于在计算机硬盘上存储和组织文件。总而言之,FAT32是一种常见的文件系统,适用于存储媒体文件和其他大文件的场景。它易于实现和维护,适用于多个操作系统,但也有一些限制和缺点需要考虑。原创 2024-05-14 09:30:42 · 727 阅读 · 0 评论 -
嵌入式系统的软件构成
嵌入式系统的软件构成包括以下几个方面: 底层硬件驱动程序:嵌入式系统需要与硬件设备进行交互,底层硬件驱动程序负责管理和控制硬件设备,提供操作接口。 实时操作系统(RTOS):嵌入式系统通常需要实时性能,实时操作系统提供了任务调度、中断处理、内存管理等功能,保证系统的实时性。 应用程序:嵌入式系统的应用程序是根据具体需求开发的,可以是控制算法、数据处理、界面显示等功能。 中间件:中间件是嵌入式系统中不同软件组件之间进行通信和协作的桥梁,提供了消息传递、共享数据、远程过程调用原创 2024-05-08 12:02:49 · 571 阅读 · 0 评论 -
STM32开发这件事
嵌入式软件都在电脑上编写代码,编译,链接成目标文件,然后烧录到目标硬件上才能运行。在电脑用于开发的这个工具软件需要集成交叉编译工具,有几个比较流行的IDE(集成开发环境)KEIL MDK,IAR,还有st推出的STM32CubeIDE。以下对这几个IDE做一个简单的介绍。原创 2024-05-17 11:38:02 · 86 阅读 · 0 评论 -
矩阵式键盘的控制
键盘扫描是最 为常用的工作方式,扫描方式又可分为程序程扫描、定时扫描和中断扫描。定时扫描是指利用单片机内部或扩展 的定时器产生定时中断,在中断中进行键盘扫描的工作方式。不论哪一种扫描方式,键盘程序都应当完成,判断 键是否被按下、按键削抖处理、按键定位等操作键盘。再判断行线状态,当行线全为高电平时,表示被按下的键不在本列;扫描法对键的识别采用逐行(列)扫描的方法获得键的位置,当被按下的键在最后一行。表示被按下的键在本列,把此时的行线状态与列线状态和在一起即为被按下的键的位置。每当扫描输出某一列为。原创 2024-05-06 14:40:43 · 523 阅读 · 0 评论 -
ST官方HAL库和LL库的区别
HAL库:HAL库提供了丰富的函数和宏定义,涵盖了大多数常用的外设功能。- LL库(Low-Level):LL库是一个低级别的库,更接近硬件寄存器的操作。- HAL库:HAL库使用起来相对简单,用户只需要调用相应的函数进行初始化和控制即可。- LL库:LL库的使用方式更接近裸机编程,用户需要手动编写寄存器的配置和操作代码。HAL库和LL库都是STM32的底层驱动库,用于对微控制器的外设进行配置和控制。综上所述,HAL库适用于快速开发和简单应用,而LL库适用于对外设进行深入了解和高度优化的应用。原创 2024-04-28 16:29:05 · 1415 阅读 · 0 评论 -
嵌入式系统的硬件构成
电源模块负责将输入电源转换为系统所需的电压和电流,而电源管理电路则负责控制系统的电源状态,如开关机、低功耗模式等。常见的微处理器包括ARM、Intel x86、MIPS等,而常见的微控制器包括PIC、AVR、8051等。因此,嵌入式系统通常包含输入输出接口,如GPIO(通用输入输出)、串口、SPI、I2C等。因此,嵌入式系统通常包含连接接口,如以太网、Wi-Fi、蓝牙、USB等。以上是嵌入式系统常见的硬件构成,不同的应用场景可能会有不同的硬件需求,因此具体的硬件构成可能会有所差异。原创 2024-05-08 12:01:58 · 467 阅读 · 0 评论 -
STM32 CAN开发步骤
1. 配置CAN外设:根据具体的STM32系列和型号,选择并配置CAN外设。7. 集成到应用程序中:将CAN开发的代码集成到具体的应用程序中。可以基于RTOS或者裸机开发,根据具体的需求进行进一步的优化和集成。3. 编写CAN发送函数:根据需要,编写CAN发送函数来发送CAN帧。4. 编写CAN接收函数:根据需要,编写CAN接收函数来接收CAN帧。6. 调试和测试:在开发过程中,使用适当的调试工具和设备,如CAN分析仪或者虚拟CAN总线,来验证CAN通信的正确性和稳定性。原创 2024-04-28 16:30:23 · 512 阅读 · 0 评论