板上的8个按键分别分别代表数字1-8,每按下一个按键将结果通过串口发送到PC机上显示;
使用两个定时器模块,分别定时为1ms和100ms产生中断,使用它们分别产生1s的定时时间,将时间分别显示到数码管上;
外接PS/2小键盘,将按键的值通过串口显示到PC机上
2025/5/25 14:27:33 1.69MB c开发
1
虚拟串口驱动
2025/5/24 17:24:28 2.07MB 虚拟串口驱动 单片机 嵌入式
1
Maxim公司新近推出的MAX6675即是一个集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器。
利用MAX6675读取K型热电偶感应的温度SPI协议程序肯定是正确的
2025/5/22 17:24:35 1.61MB MAX6675 STM32F103 K型热电偶
1
使用quartus实现了AD9226模块的驱动,可通过串口发送至电脑,也可使用singanltapII实现波形显示
2025/5/22 12:45:47 15.26MB Verilog
1
用QT做的LINUX下串口通信(测试可用),控件为一个LABEL,三个按键,具体看程序里面改名字就可以了
2025/5/22 6:42:36 141KB QT LINUX 串口
1
在使用串口时,使用dma接收会提高程序的运行效率,所以我写一个串口dma接收程序,使用hal的cubemx配置,实现功能
2025/5/22 1:41:42 6.97MB HAL USART DMA
1
基于QT5.8+STM32F103的电压采集和实时电压数据的动态显示实例
2025/5/21 17:31:52 2.97MB 嵌入式 电压显示
1
包含EC20的开发文档以及专用串口开发工具,内容完善。
2025/5/21 7:32:49 53.87MB EC20
1
基于卡尔曼滤波的SOC估算模型,可通过串口读取实时数据,并将此数据作为模型输入使用
2025/5/21 0:13:23 25KB 卡尔曼滤波 OC估算模型.
1
在本文中,我们将深入探讨DM365芯片的启动流程,特别是针对NAND和UART两种启动模式。
DM365是一款基于DaVinci技术的多媒体处理器,其启动机制涉及到多个组件,包括MMU、数据缓存和指令缓存,以及不同类型的BootLoader。
MMU(内存管理单元)在启动阶段必须关闭,这意味着在这个阶段,虚拟地址与物理地址是相同的,这简化了对内存的访问。
数据缓存和指令缓存则用于提高处理器对内存数据的存取速度,它们在启动过程中起到加速代码执行的作用。
DM365的启动模式可以通过设置BTSEL[2:0]跳线来选择。
当设置为001时,系统会从外部的NORFLASH启动;
其他设置则会从内部ROM启动,执行固化在ROM中的RBL(ROMBootLoader)。
RBL是一个不可擦除的BootLoader,负责加载用户定义的UBL(UserBootLoader)到内存特定地址执行。
UBL的大小有限,不能超过14K,因此无法直接包含完整的U-BOOT。
为了启动U-BOOT,我们需要一个小于14K的小型UBL,它位于NANDFlash的前5个block内。
启动流程如下:1.RBL运行,检查NANDFlash设备ID。
2.如果设备ID匹配,RBL查找UBL的描述信息。
3.RBL将UBL复制到ARM内部RAM,并进行ECC校验。
4.UBL加载后,可以进一步加载U-BOOT和操作系统。
对于NANDBOOT模式,RBL会尝试读取NANDFlash的设备ID,然后查找并加载UBL。
如果失败,会尝试其他启动模式,如MMC/SD。
对于UARTBOOT,RBL通过串口与主机程序交互,发送BOOTME信号并等待ACK,以完成UBL的传输。
在UARTBOOT过程中,串口设置和通信协议是关键,RBL与主机程序的交互确保了UBL的正确接收。
一旦UBL通过UART传输到DM365,后续的启动流程与NANDBOOT类似。
DM365的启动涉及多层BootLoader,每层都有特定的任务,从初始化硬件到加载操作系统。
理解这些启动机制对于开发和调试基于DM365的系统至关重要,尤其是在需要自定义启动流程或优化性能时。
同时,熟悉MMU、缓存的工作原理也是优化系统性能的关键。
2025/5/20 15:52:57 326KB
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡