Linux 自学过程遇到的问题笔记

1、linux驱动和应用程序的编译        因为驱动最终是在开发板上跑,所以板子是arm架构的使用的编译器是arm架构的编译器(这块没仔细研究),并且在Makefile文件中指定板子上内核在Ubuntu平台下的源码位置,否则可能会出现在Ubuntu下能编译过去在板子上跑不起来。Ubuntu...

2018-08-17 23:57:02

阅读数 84

评论数 0

linux make menuconfig界面及.config 的个人理解

最近买了周立功老师的imx287A的开发板开始学习linux,什么都不懂学习的过程好难啊,每天看点,先不管对错把自己的理解记下来,有错的以后再回来改。 编译过程,首先./config-kernel,config-kernel是致远提供的一个脚本,脚本中指定了SOC架构为ARM、编译器为arm-fs...

2018-01-19 02:29:18

阅读数 4726

评论数 0

linux 驱动中断部分学习

学习按键中断,中断程序可以在中断函数中一次实现,也可以分开在中断的上下半部实现,上半部实现紧急的处理,下半部做些不紧急的处理。上下半部的实现分为:软中断、tasklet、工作队列、线程中断。软中断和tasklet处理函数中不能睡眠。   问题1:            今天做工作队列的实验,在...

2018-01-12 22:23:09

阅读数 102

评论数 0

linux IIC驱动学习

这两天学习linux的iic驱动,使用的芯片是FM24C02A,参考周立功老师的书和从他那买的287A套件做实验,昨天写了驱动程序和应用程序,发现一个问题:应用程序如果一次写入8个字节,然后一次读出8个字节,则读出的第8个字节和写入的第8个字节不一样,原因还在查找中。 数据发送函数我用的 int...

2018-01-11 18:06:24

阅读数 134

评论数 0

linux命令学习

1、查询磁盘容量的使用情况,df --

2017-12-09 17:45:34

阅读数 132

评论数 0

CM3 SVC和PendSV

SVC--系统服务调用,PendSV--可悬起系统调用,多用在系统软件开发中。SVC用于产生系统函数的调用请求,例如操作系统不让用户程序直接访问硬件,而是通过一些系统服务函数,让用户程序使用SVC发出对系统服务函数的呼叫请求,以此来间接访问硬件。NMI服务例程不能使用SVC指令,否则产生硬faul...

2017-11-06 09:57:39

阅读数 523

评论数 0

存储器

一、位带 Cortex-M3内核 SRAM区和外设区的最低的1M字节都有位带别名区。用来定义对静态存储区和外设区外设寄存器实现原子操作。 #define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xF...

2017-11-05 15:05:18

阅读数 180

评论数 0

STM32 DMA使用

一、串口接收 DMA 串口接收使用DMA,如果设置的是单次模式,接收缓冲器的大小至少和接收个数一样大,如果缓冲器小于接收个数,缓冲器的内容有可能被覆盖,如果一次接收到的数据大于设置的接收个数,超过接收个数的数据将会被清零。

2017-10-27 10:01:35

阅读数 271

评论数 0

STM32的SPI使用注意

今天写OLED屏SSD1309的驱动,用的是SPI2。屏只接收数据,不给单片机单片机发送数据,所以在硬件上连接的只有CS、SCK、MOSI,没有用到单片机的MISO引脚,片选引脚设置为软件管理模式,SPI的方向设置为双向全双工。 对IO的时钟、SPI2等初始化完成后将程序下载到片子上发现屏没有任何...

2017-10-24 15:32:55

阅读数 3073

评论数 0

uboot 移植学习过程遇到问题的解决方法

对uboot还不懂,现在记录学习过程中出现的问题的解决方法,以后如果意识到问题再回来修改 1、  make all CROSS_COMPILE=arm-linux-   出现bad value  (armv5) for -march=switch 解决: export   CROSS_COMPIL...

2017-08-09 12:21:35

阅读数 933

评论数 0

硬件调试

1、电源芯片        电源在电路中起着至关重要的作用,市场上同一型号不同卖家的价格差距很大,有时候我们想买便宜的因为可以降低成本,不管是便宜的还是贵的我们有必要从买回来的芯片中做抽样测试,加上负载在负载电流接近手册上最大值时看输出电压和电压的纹波是否满足需要、是否和手册上描述的基本吻合。 ...

2017-07-21 17:13:28

阅读数 1243

评论数 0

WM8978学习

WM8978是一个低功耗的CODEC编解码芯片,输入支持line、MIC和输出处理。 1、MIC输入 两对立体MIC输入,信号的路径可以手动控制,或者ALC循环去控制MIC信号的电压。最大增益55.25db。ADC的输入支持可编程的增益放大         LINE输入(AUXL AUXR)...

2017-07-01 23:30:24

阅读数 6692

评论数 0

STM32F429之IO操作

1、读引脚状态       使用HAL库函数,这两天因为不注意把自己坑了两天!是这样的,我想读PB3口的状态,调用库函数HAL_GPIO_ReadPin(),我是这样写的HAL_GPIO_ReadPin(GPIOB,3),怎么读都不对整的都快抑郁了,goto到函数里边发现GPIOx->ID...

2017-06-19 23:17:14

阅读数 984

评论数 0

STM32F4 HAL库DMA学习

用了一段时间HAL库,不知道是不是用外设固件库时间长一点的原因,个人感觉没有固件库来的直接。看DMA部分看的有点乱,捋一下。 DMA的使用方法及细节直接看官方的手册就可以了,注意的是如果原地址和目的地址的数据长度不一样的话只能使用FIFO模式,直接模式下原地址和目的地址的数据长度必须一致。 主要是...

2017-06-14 23:06:38

阅读数 6077

评论数 0

LTDC 学习

LTDC带时序控制,省去了控制器的控制芯片,配置好时序参数和每个层的参数,LTDC会自动从缓冲中取出数据刷新的显示器上。LTDC有三个层背景层、第一层显示、第二层显示由下向上叠加,但是最终显示的是这几层混合后的结果。LTDC支持alpha混合,这样就可以做出比较漂亮的界面,做出第二层悬浮在第一层的...

2017-06-13 12:02:03

阅读数 1824

评论数 0

W25Q256学习

一、基本特性 容量256Mb,最小的组织单位是页每个页256个字节,可进行页编程(一次写256个字节);16个页组成4KB的扇区,可进行扇区擦除,128个扇区组成32KB块,64KB的组,可以整片擦除。256有8192个扇区和512个块。        256支持标准的SPI接口,2/4线SPI,...

2017-06-07 18:58:04

阅读数 10392

评论数 0

Fatfs文件系统学习

移植过程网上有很多,直接参考就可以了。 1、英文长文件名的实现 http://blog.csdn.net/lan120576664/article/details/48344311       英文长文件名的实现参考了这个朋友的帖子。      #define _CODE_PAGE  437  ...

2017-06-02 11:45:03

阅读数 1135

评论数 0

STM32F4 FMC学习

一、区域划分           FMC灵活的存储控制器。FMC可连接SRAM(异步或同步)、SDRAM、NORFLASH、PC卡、NANDFLASH.支持突发模式,可编程时钟,8位、16位、32位宽的数据总线。FMC有6个存储区域,每个区域支持256MB的寻址空间。           ...

2017-05-18 15:48:56

阅读数 3892

评论数 0

STM8系列学习

一、时钟   时钟的三个来源:外部的高速时钟1~24MHz,内部的高速时钟16MHz(可分频),内部的低速时钟128KHz。         系统复位后默认的使用内部时钟的8分频做为系统时钟,系统稳定后,可以修改内部时钟分频或者切换时钟,内部时钟的精度不高。         外设门控时钟:外设的时...

2017-05-17 18:57:23

阅读数 370

评论数 0

STM32F4学习

在学习F4,遇到的问题写出来加深印象,有理解错误的发现后再改。        用固件库试过F407,时钟配置需要根据自己板子上的晶振修改时钟配置文件中的时钟频率需要修改外部时钟的宏定义,F429用的是HAL库需要在时钟配置初始化的时候根据自己板子上的晶振修改分频和倍频,不需要修改时钟的宏定义。

2017-05-11 09:44:38

阅读数 657

评论数 0

提示
确定要删除当前文章?
取消 删除