在内核配置界界面,我们可以很容易的配置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驱动程序能够…
驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Documentation/driver-model/platform.txt找到一篇译文:http://blog.csdn.net/yili_xie/article/details/5193609 Device Enumeration 82 ~~~~~~~~~~~~~~~~~~ 83 As a rule…
驱动开发读书笔记. 0.04  linux 2.6 platform device register 平台设备注册  1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentation/driver-model/platform.txt Device Enumeration 82 ~~~~~~~~~~~~~~~~~~ 83 As a rule, platform specific (and often board-specific) setup code will 84 reg…
实现 GPIO 扩展,先弄清楚“复用”的概念,将调用这些 GPIO 的驱动去掉配置,重新编译,加到自己的驱动中,就可以实现扩展的 GPIO 的输入和输出.另外必须要先看文档“迅为iTOP-4418开发板和6818开发板-驱动-GPIO 输入输出和例程_V1.X”.1 GPIO 扩展的内核配置在底板上,引出的扩展口有 J6(camera 口),J38(GPIO/CAN/485),另外如果自己做底板,假如不使用 WIFI 等模块,还可以将 WIFI 等模块的 IO 口扩展成 GPIO.这里只介绍 J…
对于所有的处理器,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 的完全兼容,…
iTOP-iMX6UL开发板看门狗测试例程,iTOP-iMX6UL 开发板的看门狗驱动默认已经配置,可以直接使用测试例程. 版本 V1.1:1.格式修改:2.例程修改完善,其中增加喂狗代码.1 看门狗内核驱动看门狗的驱动已经默认配置,iMX6UL 的 watchdog 看门狗驱动源码是“drivers/watchdog/watchdog.c”.如下图所示,选择“Device Drivers --->”,输入回车. 如下图所示,在“Device Drivers --->”下,选择“Watchdo…
前几天无聊就弄了弄这个玩,网上教程可能有点杂,在这里就总结一下. 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在每帧(即一次全屏的图像)开始的时候产生一个固定宽度的高脉冲.我对关键的信号,画了时序图,发现不是很理解程序的机制…
前言 在之前的两篇评测文章: 使用系统定时器SysTick实现精确延时微秒和毫秒函数 东芝MCU实现位带操作 介绍了系统SysTick实现精确延时,GPIO的输入输出使用,并实现了位带方式操作GPIO,大大简化了GPIO的输入输出控制.有了精确延时函数+GPIO控制,那么就可以使用通用GPIO模拟的方式,来驱动各种接口的显示器件传感器等.本文以通用GPIO模拟IIC协议,来驱动0.96寸OLED模块为例,来实现OLED显示字符.LOGO图片等等. OLED屏简介 对于显示屏,我想大家首先想到的是…
大家应该都看到过机器人的手臂啊腿脚啊什么的一抽一抽的在动弹吧...是不是和机械舞一样的有节奏,现在很多机器人模型里面的动力器件都是舵机. 但是大家一般见到的动力器件都是像步进电机,直流电机这一类的动力器件,应该对舵机比较陌生.(萝卜教育学科编程tpyboard.com) 舵机主要有以下3个优点: 一是体积紧凑,便于安装: 二是输出力矩大,稳定性好: 三是控制简单,便于和数字系统接口. 本次教程中使用的是SG90的舵机,个人感觉性能一般,但是比较稳定和耐用,做DIY实验器材用还是比较不错的. 舵机…
LCD的驱动不像LED那样,加上电压(LED实际上是电流驱动)就可以长期显示的. LCD驱动必须使用交流电压驱动才能保持稳定的显示,如果在LCD上加上稳定的直流电压, 不但不能正常显示,时间久了还会损坏LCD.一段LCD由背电极和段电极组成,需要显示时, 在背电极和段电极之间加上合适的交流电压(通常使用方波).为了调节对比度,可以 调节方波中每半个周期中显示的时间(即占空比)来实现. 通常,为了节约驱动口,将多个背电极连在一起,形成公共背电极端:COM. 另外,再将属于不同COM的段电极连接在一…
1. DSP6748内部有2个LCD控制器,Raster Controller 光栅控制器和the LCD Interface Display Driver (LIDD) controller 控制器,不过同一时刻只能使用一个.看下引脚图,AC bias是交流偏置电压,暂时不清楚用途,16位的并口数据,行扫描,列扫描等. 2. 原理图部分 3. 代码部分,可以看到本次使用的应该是Raster Controller 光栅控制器 void LCDInit(void) { // 禁用光栅 Raster…
本文章基于https://whycan.com/t_3087.htmlhttps://whycan.com/t_6021.html整理 F1c100s芯片支持USB的OTG模式,也就是可以通过更改UsbId拉低或拉高方式定义当前的开发板可以作为host还是device. usbid 拉高时,开发板作为外设方式. usbid 拉低时,开发板作为主机方式. 当然除了使用硬件方式,还可以通过Linux系统直接更改当前USB的模式. 1. 原理图 在F1c100s中PE2引脚是作为usbid功能来使用,…
Beaglebone Black开发板安装驱动 Beaglebone Black开发板安装驱动,在使用Beaglebone Black开发板子做任何事情之前首先需要安装驱动.下面的内容就了展示在Windows.Mac OS X以及Linux操作系统下Beaglebone Black开发板驱动的安装方式.使用USB连接的Beaglebone Black在电脑中显示为一个存储设备,如图1.2所示.   图1.2  Beaglebone Black作为可移动存储设备 这其中包括了你要开始使用Beagl…
1.DE2-115开发板资源 Altera EPCS64 Configuration Device 64MB SDRAM (两片) 50MHz Oscillator EP4CE115F29C7(4PLLs) PI149FCT3803(与时钟有关的芯片) 2.DE2-115与时钟有关的引脚 3.关于复位信号的产生 (1)工程一: 综合结果如下图所示: 图 时钟信号具体细节 复位信号由Reset_Delay模块产生,但是复位信号的产生需要有iCLK时钟信号的触发,具体细节如下图所示: 图 复位信号网…
从这篇教程开始将动手在TPYBoard STM32F407开发板上运行 Python 脚本,下面教大家拿到这个开发板后怎么用!(该款开发板某宝上有售) 1 连接开发板 通过 USB 线连接你的 PC 机(windows,mac,linux皆可).你不可能搞错因为仅有这么一种连接方式.当连接成功后开发板将上电和进入开机程序,绿色的 LED 灯应该在半秒或更少的时间内亮起,当其熄灭时意味着开机程序已完成. 2 安装USB驱动 Windows:开发板将作为可移动磁盘出现.Window 将自动弹出窗口界…
①.如果是迅为4418开发板:在4418/android/device/nexell/drone2/device.mk中添加: frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/p…
开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 Linux 内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于 和 kernel/timer.c 文件中. 内核定时器的数据结构 struct timer_list { struct list_head entry; //双向链表元素list:用来将多个定时器连接成一条双向循环…
开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 Linux 内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于 <Linux/timer.h> 和 kernel/timer.c 文件中. 内核定时器的数据结构 struct timer_list { struct list_head entry; //双向链表元素list:…
MSP-EXP430G2开发板是德州仪器提供的开发工具,也称为LaunchPad,用于学习和练习如何使用其微控制器产品.该开发板属于MSP430 Value Line系列,我们可以对所有MSP430系列微控制器进行编程.本文整理了MSP430 LaunchPad开发板相关的入门教程. 1.    使用Energia IDE开发MSP430G2微控制器入门指南 - 闪烁LED 2.    基于MSP430G2微控制器闪烁LED:使用数字读/写引脚 3.    使用MSP430G2 LaunchPa…
DevEco Device Tool迎来了2.1 Beta1,新版本有很多亮点.在上次"DevEco Device Tool 2.1 Beta1 的Hi3861在Windows平台的编译体验 "(https://harmonyos.51cto.com/posts/4027)中,我们已经体验了HI3861在Windows平台的编译亮点及工具链管理功能的亮点,这次,来体验一下HI3861开发板在Windows平台的可视化分析这个亮点.润和的HiSpark_Wifi_IoT开发板和小熊派的B…
一.背景 LS1021ATWR开发板运行官方的openwrt系统 二.日志分析 2.1 linux相关日志 root@OpenWrt:/# reboot  重启 root@OpenWrt:/# [ 2324.325719] device eth0 left promiscuous mode 网卡eth0离开混杂模式 [ 2324.330172] br-lan: port 1(eth0) entered disabled state 网卡eth0进入禁用状态 [ 2324.346789] IPv6…
copy from :https://blog.csdn.net/fml1997/article/details/77622860 概述 从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device 和 platform_driver .Linux 中大部分的设备驱动,都可以使用这套机制,设备用 platform_device 表示:驱动用 platform_driver 进行注册. linux_platform_driver 机制和传统的device_driver机…
改章节个人在深圳游玩的时候突然想到的...这几周就有想写几篇关于android驱动的博客,所以回家到之后就奋笔疾书的写出来发布了 这些天一直在想Android驱动框架层的实现,本文借助老罗教师的博客和现有通过过分析台湾的Jollen的mokoid 工程代码,并尝试在Android开发板上驱动一个简单的蜂鸣器,来解析Android下驱动的调用. HAL架构由Patrick Brady (Google) 在2008 Google  I/O报告中提出的,如下图. 其实可以斟酌先编写驱动代码,然后使用N…
1.关于更换不同摄像头驱动调用问题. 问:RP4412开发板,我用的摄像头640*480图像预览时OK的,但是我调用1280*720的初始化预览,摄像头没有图像了,是不是camera程序也需要修改? 答:这个首先要确定两处地方.第一,在hal里必须有720P的配置支持:第二,驱动里有对应的720P预览的配置数据. 问:hal是修改那个地方? 答:在devicemsume/exynos4 libcamera里device samsume exynos4 . 问:你说的那个地方,我已经支持了. 答:…
本文转自迅为:http://www.topeetboard.com 大家好,本章节我们将向大家讲解如何在 linux 下实现以模块的方式加载内核驱动.我们以内核里面蜂鸣器的 驱动为例来讲解. 1)首先打开内核的源码,如下图所示: 2)使用命令“cd drivers/char/” ,进入到蜂鸣器驱动所在的目录,如下图所示: 3)然后使用命令“vi Kconfig”打开当前目录下的内核配置文件,如下图所示: 4)然后找到“config BUZZER_CTL”所在的位置,如下图所示: 5)然后把“bo…
本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.com/s/1kTlGkcR 总线_设备_驱动注册流程详解 • 注册流程图 • 设备一般都需要先注册,才能注册驱动 – 现在越来越多的热拔插设备,反过来了.先注册驱动,设备来了再注册 设备 • 本节使用的命令 – 查看总线的命令#ls /sys/bus/ – 查看设备号的命令#cat /proc/de…
1.在开发板具体操作步骤如下:   1.1 :设置IP ifconfig eth0 172.27.52.200   1.2 :ping通 虚拟机Linux 主机Linux ping XXX.XXX.XXX.XXX     1.3.挂接 mount -t nfs -o nolock  XXX.XXX.XXX.XXX:/work/nfs_root/first_fs  /mnt // 例如:mount -t nfs -o nolock  172.27.52.100:/work/nfs_root/fir…
开发板是飞凌OK210 arch/arm/mach-s5pv210/mach-smdkc110.c 首先是UART的寄存器默认配置信息: /* Following are default values for UCON, ULCON and UFCON UART registers */ #define S5PV210_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ S3C2410_UCON_RXILEVEL | \ S3C2410_UCON_TXIRQMODE…