在内核配置界界面,我们可以很容易的配置DDR的频率,300M OR 600M, so easy! 那么它是如何起作用的呢? 回想 RK30SDK开发板驱动分析(一) 末尾提到MACHINE_START是系统开始的地方,位于board-rk30-box.c ,注意里面有个函数rk30_map_io MACHINE_START(RK30, "RK30board") .boot_params = PLAT_PHYS_OFFSET + 0x800, .fixup = rk30_fixup, .…
做过51单片机或者ARM开发的人都知道,单片机内部都有自己的“片内外设”,比如UART,比如I2C,比如SPI等等... 写单片机程序的时候,比如对于UART的驱动,我们都是在程序中直接写一套函数,来操作相关的UART寄存器,在程序中的其它地方调用这些函数,完成串口的收发. 在小规模的单片机程序中,这样做是再正常不过的. 但是,在规模庞大的LINUX内核中,要处理各种各样的CPU,各种各样的UART收发器,上述办法就有心无力了:没有灵活性,无法移植,接口不一致,很难想象有一个UART驱动程序能够…
实现 GPIO 扩展,先弄清楚“复用”的概念,将调用这些 GPIO 的驱动去掉配置,重新编译,加到自己的驱动中,就可以实现扩展的 GPIO 的输入和输出.另外必须要先看文档“迅为iTOP-4418开发板和6818开发板-驱动-GPIO 输入输出和例程_V1.X”.1 GPIO 扩展的内核配置在底板上,引出的扩展口有 J6(camera 口),J38(GPIO/CAN/485),另外如果自己做底板,假如不使用 WIFI 等模块,还可以将 WIFI 等模块的 IO 口扩展成 GPIO.这里只介绍 J…
我是卓波,很高兴你来看我的博客. 系列文章: ESP32 LyraT音频开发板试玩(一):搭建开发环境 ESP32 LyraT音频开发板试玩(二):播放音乐 本文延续上一篇博客 将D:\msys32\home\user\esp\esp-adf\examples\get-started目录下的play_mp3工程直接拷贝到esp目录下 看一下代码,代码量也不多,核心是创建一个mp3元素和一个i2s元素,然后将两个元素链接到管道中. 形成了mp3元素拿数据给i2s元素播放的关系. /* Play m…
对于所有的处理器,pad 一般可以分为两大类:IO(输入输出).Power(VDD 和GDD).类似摄像头 IO.以太网 IO.PWM 的 IO 等等,都可以统称为 IO.一个 IO,有可能能够被配置为多种功能.GPIO 是 IO 的一种,GPIO 就是普通输入输出的意思,当需要实现高低电平输入输出.中断功能的时候,都需要将其设置为 GPIO 模式.本文档以 GPIO 为例,介绍如何配置 iTOP-4418 和 iTOP-6818 的 IO.iTOP-4418 和iTOP-6818 的完全兼容,…
作者:彭东林 邮箱:pengdonglin137@163.com 开发板:tiny4412ADK+S700 4GB Flash 主机:Wind7 64位 虚拟机:Vmware+Ubuntu12_04 u-boot:U-Boot 2010.12 Linux内核版本:linux-3.0.31 Android版本:android-4.1.2 源码:kernel/printk.c asmlinkage int printk(const char *fmt, ...) { va_list args; in…
大家应该都看到过机器人的手臂啊腿脚啊什么的一抽一抽的在动弹吧...是不是和机械舞一样的有节奏,现在很多机器人模型里面的动力器件都是舵机. 但是大家一般见到的动力器件都是像步进电机,直流电机这一类的动力器件,应该对舵机比较陌生.(萝卜教育学科编程tpyboard.com) 舵机主要有以下3个优点: 一是体积紧凑,便于安装: 二是输出力矩大,稳定性好: 三是控制简单,便于和数字系统接口. 本次教程中使用的是SG90的舵机,个人感觉性能一般,但是比较稳定和耐用,做DIY实验器材用还是比较不错的. 舵机…
前几天无聊就弄了弄这个玩,网上教程可能有点杂,在这里就总结一下. Digispark开发板(也就是badusb)能干什么,自己搜去,/坏笑. 1.准备材料:Attiny85微型 USB接口开发板 Digispark kickstarter扩展板开发板(淘宝上9 RMB左右,我自己在这里购买的:点击进入,自己斟酌哪里购买) 这个可以直接连接电脑的USB接口. 2.接着安装Arduino IDE来配置环境. 各版本下载链接:https://pan.baidu.com/s/1T7OetboNNUneK…
1. 本次使用的是cyclone4开发板,先看下原理图,因为右边的RGB应该是模拟信号量,但是本次例程只接了3根线,那就是说颜色只有8种. 2. 代码,输出信号有R,G,B三色,就是上图右边的,行同步信号(扫描完一行),场同步信号.VGA收发双方没有时钟信号做同步,但是通常会约定发送方有一个基本的时钟,行同步信号HSYNC在每行开始的时候产生一个固定宽度的高脉冲.场同步信号VSYNC在每帧(即一次全屏的图像)开始的时候产生一个固定宽度的高脉冲.我对关键的信号,画了时序图,发现不是很理解程序的机制…
一.spi总线注册 这里所说的SPI核心,就是指/drivers/spi/目录下spi.c文件中提供给其他文件的函数,首先看下spi核心的初始化函数spi_init(void).程序如下: 点击(此处)折叠或打开 static int __init spi_init(void) { int    status; buf = kmalloc(SPI_BUFSIZ, GFP_KERNEL); if (!buf) { status = -ENOMEM; goto err0; } status = bu…