
arm BSP
文章平均质量分 69
kuniqiw
这个作者很懒,什么都没留下…
展开
-
ARM v7、v8处理器基础知识
https://www.cnblogs.com/Cqlismy/p/12549087.html转载 2020-07-20 15:42:26 · 624 阅读 · 0 评论 -
字符设备驱动之mmap、select
mmap,简而言之就是将内核空间的一段内存区域映射到用户空间。映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,相反,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间与用户空间两者之间需要大量数据传输等操作的话效率是非常高的。当然,也可以将内核空间的一段内存区域同时映射到多个进程,这样还可以实现进程间的共享内存通信。原创 2023-01-30 17:48:29 · 619 阅读 · 1 评论 -
sylixos input子系统学习、调试记录
sylixos input子系统原创 2023-01-29 16:19:11 · 413 阅读 · 0 评论 -
16C550控制器调试、RS485(半)全双工实现
我们经常使用RS485的半双工方式,但是真实的情况是RS485、RS422、RS232都是可以实现全双工的。在实际使用过程中我们一直是把RS485设计成半双工使用。其实RS485类似RS422,只不过在个别参数上比RS422更加灵活,也就是说RS485可以兼容RS422,但反过来就不一定了。RS485如果接成四线就是全双工,如果把输入和输出并接,并且只接两条线那么就是半双工的了。因为实际使用半双工的比较多。另外好多芯片内部就把输入和输出并接了。RS232,RS422,RS485是电气标准,规定信号的逻辑原创 2020-07-28 11:16:47 · 9491 阅读 · 1 评论 -
sja1000 CAN驱动学习、调试记录(基于PeliCan Mode)
BasicCAN Mode:仅支持11位的ID。在扩展模式下,允许使用 11 位 ID的标准帧和29位ID的扩展帧(是标准帧还是扩展帧由 TX帧信息的最高位IDE位确定)。二、硬件介绍硬件框图、寄存器地址分配2.1TRANSMITBUFFER(TXB)传输缓冲区是CPU和比特流处理器(BSP)之间的一个接口,它能够存储一个完整的消息,以便通过CAN网络进行传输。该缓冲区有13个字节长,由CPU写入,并由BSP读出。原创 2022-12-11 22:07:34 · 4866 阅读 · 1 评论 -
linux串口编程 select
(55条消息) linux串口编程 select_storyteller87的博客-优快云博客_linux 串口select转载 2022-04-04 11:10:43 · 623 阅读 · 0 评论 -
stm32h743 FDCAN驱动踩坑记录
先放一张FDCAN控制框图镇贴:can 使用的是专门的外设时钟,所以要有相应的外设时钟配置和选择。关于波特率计算:代码中把位时序中的 BS1 和 BS2 段分别设置成了 31Tq 和 8Tq,再加上 SYNC_SEG段(固定为1Tq),一个 CAN 数据位就是 40Tq 了,加上 CAN 外设的分频配置为 1 分频, CAN 所使用的总线时钟 fPLL1Q = 40MHz,于是我们可计算出它的波特率:1Tq = 1/(40M) = 1/40 usT1bit = (31+8+1..原创 2021-10-28 19:52:17 · 3282 阅读 · 0 评论 -
stm32h743 定时器实现PWM功能踩坑记录
先用一张高级定时器框图镇楼定时器输出PWM,先要搞懂两个概念:定时器工作频率与定时器频率定时器工作频率 =外设总线频率/(PSC+1)假设外设总线频率是1MHZ,PSC是9,那么定时器工作频率是100KHZ,也就是启动后1秒计数10万次;定时器频率 = 定时器工作频率/(CNT+1)假设CNT是99,则定时器频率是1KHZ,也就是1秒计数1000次,每1ms(计数每数到100)产生一次溢出中断。PSC:预分频系数CNT:自动重装载值关...原创 2021-10-28 15:06:52 · 1210 阅读 · 0 评论 -
stm32h743 FM25CL64铁电存储器踩坑记录
调试FRAM经验总结:1、跑完FRAM读写代码之后,逻分仪发现总线上只有简单、短暂的电平变化,明显不是SPI的通信数据。(经提醒发现连片选拉高拉低都没有执行到位)后来发现是因为片选引脚没有初始化,所以直接拉高拉低是无效的。2、引脚成功初始化后发现CLK、MISO、MOSI数据仍不正常。通过加打印的方式发现跑到HAL_SPI_Transmit中之后还没有执行到写SPI数据寄存器的那一步就return了。后来经提醒发现:上图中的指针使用方式错误后来又发现:打印出来发现原创 2021-10-27 17:55:53 · 3086 阅读 · 0 评论 -
四线电阻触摸屏原理(仅作为学习记录)
转载自:http://www.elecfans.com/kongzhijishu/renjijiemian/596589.html四线电阻触摸屏原理_qlexcel的专栏-优快云博客_电阻触摸屏原理linux input子系统、驱动框架学习参考链接:(25条消息) linux驱动中probe函数是怎么调用的_夏天Alex-优快云博客_linux probeLinux Platform驱动模型(二) _驱动方法 - Abnor - 博客园 (cnblogs.com)Linux 获.原创 2021-09-02 11:28:45 · 733 阅读 · 0 评论 -
stm32f4 SPI 总线驱动、flash驱动学习指南
零死角玩转系列是从库函数的角度讲解SPI总线驱动的:(19条消息) 第24章 SPI—读写串行FLASH—零死角玩转STM32-F429系列_flyleaf91的专栏-优快云博客SPI总线驱动关键词:CPOL:时钟极性(为0 时有效电平为高电平)CPHA:时钟相位(为0 时在第一个时钟边沿采样数据)MSTR:主从模式选择位BR[2:0]:波特率控制(时钟分频)对于本人来说,更适合看寄存器版本的总线驱动。下面是stm32f4 的SPI寄存器一览表:W25Q128的操作原创 2021-08-18 11:43:57 · 420 阅读 · 0 评论 -
看门狗原理
最近需要在板子上加上一块WatchDog,以确保在系统出错时自动重启,所以看了一些在嵌入式系统中使用看门狗的资料,总结如下:一、看门狗原理在产品化的嵌入式系统中,为了使系统在异常情况下能自动复位,一般都需要引入看门狗。看门狗其实就是一个可以在一定时间内被复位的计数器。当看门狗启动后,计数器开始自动计数,经过一定时间,如果没有被复位,计数器溢出就会对CPU产生一个复位信号使系统重启(俗称“被狗咬”)。系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零(俗称“喂狗”),不让复位信号产生。原创 2021-01-24 22:11:40 · 4392 阅读 · 0 评论 -
sylixos T3 PWM 驱动
2021.1.24更新: 输入捕获计算占空比和频率的公式有误,需要将寄存器的值+1.具体参考这篇帖子:https://www.firebbs.cn/forum.php?mod=viewthread&tid=14334&highlight=%E9%A2%91%E7%8E%87简介脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通...原创 2021-01-24 15:18:47 · 931 阅读 · 1 评论 -
Linux下编写GT911触摸驱动
问题一:资源获取Gt911数据手册在韦老师给的资料里,路径为\06_Datasheet\Extend_modules\7寸LCD模块\电容触控芯片GT911 Datasheet_121120(海威思.pdf问题二:需要准备哪些知识1.能够修改设备树2.能够编写字符设备驱动3.能够在linux下编写中断程序4.能够在linux下编写IIC收发程序5.了解input子系统6.移植tslib(用于校准,测试触摸屏)gt911硬件连接(韦老师的板子):可以看到gt911只原创 2021-01-09 14:39:43 · 6414 阅读 · 0 评论 -
AT24C16 读写注意点
这篇文章介绍了AT24C16的页写、连续读、写保护功能:https://blog.youkuaiyun.com/liangbin414/article/details/88293321页写算法我是参考这篇文章的:https://acuity.blog.youkuaiyun.com/article/details/78550427?utm_m总的来说虽然最后也实现了,但eeprom里有的坑似乎也全被我踩遍了。从只能写一页大小,到可以页写,再到可以实现随机写,还是蛮曲折并且浪费了我不少时间的。废话不多讲,下面介绍下我最终...原创 2020-12-22 19:36:04 · 4856 阅读 · 2 评论 -
uboot的常用命令及用法
https://www.cnblogs.com/x_wukong/p/9244742.html转载 2020-11-03 17:58:37 · 138 阅读 · 0 评论 -
深度解析:嵌入式之uboot
1.为什么要有uboot1.1、计算机系统的主要部件(1)计算机系统就是以CPU为核心来运行的系统。典型的计算机系统有:PC机(台式机+笔记本)、嵌入式设备(手机、平板电脑、游戏机)、单片机(家用电器像电饭锅、空调)(2)计算机系统的组成部件非常多,不同的计算机系统组成部件也不同。但是所有的计算机系统运行时需要的主要核心部件都是3个东西:CPU+外部存储器(Flash/硬盘)+内部存储器(DDR SDRAM/SDRAM/SRAM)1.2、PC机的启动过程(1...转载 2020-11-03 10:10:48 · 437 阅读 · 1 评论 -
arm中的PLL,MPLL,UPLL,FCLK,HCLK,PCLK的作用概述
在学习BSP 定时器驱动时遇到了定时时间的计算,不是很懂PCLK这些相关概念,在此百度了相关资料。。。http://blog.chinaunix.net/uid-28458801-id-4426216.html转载 2020-05-11 11:23:09 · 615 阅读 · 0 评论