摘要:
使用Buildroot生成整个嵌入式工程 $ unzip mirrors-buildroot-2019.08.x.zip $ cd ./buildroot/ $ make list-defconfigs $ make freescale_imx6dlsabresd_defconfig $ make 阅读全文
摘要:
$ sudo vim /etc/profile export PATH=$PATH:/work/buildroot/output/host/usr/bin $ source /etc/profile $ arm-linux-gcc -v 阅读全文
摘要:
详情请参考: http://www.buildroot.org/downloads/manual/manual.html 参考博客: https://www.cnblogs.com/arnoldlu/p/9553995.html Buildroot是一个为嵌入式平台构建一个完整Linux系统的工具,它可以生成交叉编译工具、文件系统、Linux内核和bootloader。 ... 阅读全文
摘要:
平台: 飞凌IMX6DL Buildroot版本: mirrors-buildroot-2019.08.x 说明: 以freescale_imx6dlsabresd为模板,使用Buildroot构建一个嵌入式系统工程,使用构建好的交叉编译工具,并且以工程获取的源码作为移植基础。 具体配置信息: Target options ... 阅读全文
摘要:
消除抖动的实现方法 在发生中断后,延时一段时间(抖动时间t),再去读取按键值; 这里实现这段延时的方法就是使用定时器; 当按键发生中断时,启动定时器,定时器延时t秒后,再读取键值。 实例 driver.c 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 ... 阅读全文
摘要:
①轮询:应用程序不断read;驱动程序不断read,占用大量的cpu资源。 ②中断:应用程序阻塞在read;驱动程序休眠,只有发生中断时,驱动程序唤醒,读取键值,返回给应用程序;应用程序执行下一步。 ③poll:应用程序在一定的时间内(用户定义),不断检测用户设置的flag,超时执行下一步;驱动程序在发生中断时,标记用户设置的flag。 ④async:应用程序不会阻塞,不影响当前进程的其他任务的执... 阅读全文
摘要:
DM9000移植 uboot下参数设置 原理图及管脚说明 IOR# —— Processor Read Command IOW# —— Processor Write Command CS# —— Chip Select CMD —— Command Type INT ... 阅读全文
摘要:
实现 使驱动程序只能同时被一个应用程序操作。 幕后:m+1 ①把变量m加载到寄存器 ②执行寄存器运算,并把运算结果保存到 ③把运算结果写回内存 单任务系统 当应用程序open某个驱动时,只需使用一个全局变量标记,再有其他应用程序打开这个驱动时,则直接退出(打开失败)。 多任务系统 由于修改变量的值,并不是一步到位的,而是需要使用多个指令,才能完成最终的操作; ... 阅读全文
摘要:
框架分析 转载自:https://www.cnblogs.com/big-devil/p/8590063.html 背景 内核的输入子系统是对"分散的、多种不同类别"的输入设备(键盘,鼠标,跟踪杆,触摸屏,加速度计等)进行"统一处理"的驱动程序。 具有如下特点: 1、统一各种形态各异的相似的输入设备的处理功能(鼠标,不论是PS/2形的鼠标,还是usb形式的鼠标,还是蓝牙形式的鼠... 阅读全文
摘要:
驱动相关:硬件之上的软件层,负责底层硬件与用户程序的交互 设备相关:底层设备的硬件操作 总线:匹配设备和驱动 设备驱动分层的思想:为同一类设备设计一个框架,而框架中的核心层则实现了该设备的一些通用功能。 阅读全文