-
源码目录分析
源码目录分析由于uboot会使用编译才会生成的文件, 所以在分析的时候需要编译一下文件夹 名字 描述 api 硬件无关的API函数 arch 架构相关的代码, 针对不同的架构 board 开发板相关的文件 cmd 命令相关的文件 common 通用代码 ...…
-
系统烧写
系统烧写在windows下使用NXP的nmfgtool来向开发板烧写系统, 使用线吧USBOTG连接到电脑上, 工具是先下载一个系统, 然后通过系统完成烧写使用OTG烧写的时候把SD卡拔出来, 链接好以后就好了, 烧写系统都是从NADA或者eMMc里面选择对应的脚本Linux首先下载一个系统到SD卡, 然后从SD卡启动, 启动后在Linux中执行烧写…
-
uBoot
uBoot是一个裸机程序用于启动Linux或者其他的系统, 最重要的是初始化DDR, 因为Linux运行在DDR中, 一般Linux镜像zImage(uImage)+设备树(.dtb)存放在SD, EMMC, NAND, SPIFLASH中需要将系统镜像从外部的Flash拷贝到DDR中, 然后才能启动uboot就是为了启动系统, 不知可以启动Linux, 也可以其他系统, Linux不止可以从uBoot启动, uboot是一个通用的bootloader, 支持多种架构获取 官网,...…
-
多点电容触摸屏
多点电容触摸屏多点触摸, 不需要按下去, 电容屏不需要校准, 电容触摸屏需要一个IC控制, 一般是I2C通讯协议, 读寄存器就可以的, 最终就是一个外设的驱动电容触摸屏芯片FT5206和FT5426, 有4个IO用于连接主控制器:SCL、SDA、RST和INT,SCL和SDA是I2C引脚,RST是复位引脚,INT是中断引脚。一般通过INT引脚来通知主控制器有触摸点按下,然后在INT中断服务函数中读取触摸数据。也可以不使用中断功能,采用轮询的方式不断查询是否有触摸点按下引脚CT INT=&g...…
-
I2C
SPI最高速度可以达到几十M, 甚至是全双工有一个六轴传感器可以连接多个外设, 有四根线, CS/SS片选信号, SCK时钟, MOSI/SDO主出从入, MISO主入从出通过CS引脚拉低进行选择引脚: 连接的是SPI3进行连接, UART2_ST_DATA=>SCLK, UART2_CTS=>MOSI, UART_TXD=>SS0, UART2_RTS=>MISO6ULL一个主接口有四个硬件片选四种模式:①、CPOL=0,串行时钟空闲状态为低电平。②、CPOL=1...…
-
PWM
PWM十六位寄存器有四个十六位FIFO, 有一个十二位分频器, 时钟进入计数器, 还有一个周期寄存器, 还有一个采样寄存器是一个向上计数器,PWMx_PWMPR : 当计数的值等于PWMPR+1的时候会重新开始下一个周期, 实际的周期是这个的值加二FIFO保存着采样值, 向PWMSAR寄存器写值的时候就是写入FIFO, 每输出一个PWM就会让FIFO中的数据减一, 直到FIFO为空的时候就不能产生PWM, FIFO为空的时候会产生中断, 可以这时候写入采样值PWM_CR寄存器, bit0使...…
-
RTC
RTC在SNVS章节, 只有在初始化LP包含SRTC的时候才有掉电不复位, 用了电池也没用, 在做产品使用的时候最好使用外部的RTC类似于计数器的, 外接32,768MHz晶振有两个寄存器保存计数值, 由于读的时候有时间差, 最好读两次使用很简单, 打开读取就可以了, 获取时间值就可以了, 或者写入时间寄存器SNVS_HPCOMR: bit31: 设置为所有软件可以访问, bit8: 安全有关随便配, bitSNVS_LPCR: bit0使能, 为1SNVS_LPSRTCMR: 高15位为...…
-
I2C
I2C有一个用于测试的器件, AP3216C, 链接到一个I2C接口上面, , 还有一个APINT的中断, I2C_SCL使用的是UART4_TXD引脚, I2C_SDA使用的是UART4_RXD两条线都是用一个4.7k上拉, 支持一个多从机, 使用唯一的地址进行访问信号时序:I2C协议(用于stm32) (xusenfeng.github.io)应答信号, 由从机进行拉低, 设置应答信号 写:1)、开始信号。2)、发送I2C设备地址,每个I2C器件都有一个设备地址,通过发送具体的设备地...…