![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式Linux
文章平均质量分 65
TNT_TT
7年搬砖经验,精修嵌入式、linux、yocto、ros
展开
-
uboot大致流程总结
uboot 大致流程总结原创 2024-04-23 01:03:26 · 309 阅读 · 0 评论 -
Linux Camera应用编程
本文介绍在Linux 下怎么操作camera原创 2024-04-01 13:11:26 · 211 阅读 · 1 评论 -
linux IIC系统学习
linux iic原创 2024-04-01 11:20:23 · 691 阅读 · 0 评论 -
块设备驱动程序
块设备驱动程序引入我们常见的存储设备比如硬盘的内部结构一般是由柱面、扇区等部分组成,切换不同柱面读写都需要硬件机械结构的切换,所以如果按照常规字符设备的读写方法会频繁的切换柱面扇区,导致程序执行效率低下且容易降低硬盘的机械寿命。flash设备类似,flash的基本结构是块、扇区;flash设备再写操作之前必须先擦住整个块再写,如果写同一个块里面的不同扇区就需要拷贝修改擦除写入四个步骤执行两边,效率低下。所以块设备驱动应运而生,相对于字符设备驱动块设备驱动的区别在于:1.读写操作先不执行,而是放入队列原创 2021-12-15 14:43:20 · 451 阅读 · 0 评论 -
app通过hal调用访问led
app通过hal调用访问ledapp通过hal调用访问ledAndroid5.0hal架构介绍以led为例向系统添加hal接口一、添加app访问的ledservice接口开发环境:Android stdio 3.5.3开发板:tiny4412开发板软件版本:Android5.0.2 + kernel3.0.86app通过hal调用访问ledAndroid5.0hal架构介绍上一章节介绍...原创 2020-04-05 01:33:19 · 2143 阅读 · 0 评论 -
APP通过JNI调用直接访问LED灯DEMO
APP通过JNI调用直接访问LED灯DEMO一、实现一个简单的LED操作APP二、通过jni本地调用操作led灯本章将实现一个简单的app通过JNI本地调用访问开发板LED灯的demo,用来理解App是如何来访问我们的开发板硬件的。开发环境:Android stdio 3.5.3开发板:tiny4412开发板软件版本:Android5.0.2 + kernel3.0.86一、实现一个简单...原创 2020-03-29 22:54:56 · 651 阅读 · 0 评论 -
git 上传和下载
1.使用git获取源码首先Ubuntu安装git 软件:sudo apt-get install git第一次使用git 时需要配置name 和邮箱:git config --global user.name “tangtao”git config --global user.email xxxxxxxx@qq.com"下载源码:git clone https://github.co...原创 2019-11-29 12:56:06 · 204 阅读 · 0 评论 -
如何在Preloader和LK中添加新驱动
MT6785平台默认LED的控制方式是硬件控制,如果要在preloader和lk中操作LED就要将LED切换到软件控制,下面以MTK MT6785平台为例,添加LED驱动。preloader阶段添加LED驱动1.在preloader阶段的配置选项custom/k85v1_64/k85v1_64.mk中添加一个新的配置项MT6360_RGBLED=yes2.在preloader阶段的编译选...原创 2019-08-26 16:50:33 · 1563 阅读 · 0 评论 -
驱动中的IIC设备添加
现在很多外设都会用到IIC来进行通讯,记录iic写驱动的写法,以g-sensor操作为例首先需要将IIC操作的设备挂载的IIC总线上去,有两种写法1.在arch/arm/mach-s5pv210/mach-x210.c中添加设备到相应的IIC总线上,示例如下static struct i2c_board_info s5k4ba_i2c_info = { I2C_BOARD_INF...原创 2019-05-19 23:23:52 · 549 阅读 · 0 评论 -
开发板支持nfs挂载根文件系统启动
刚开始调试程序的时候经常需要修改程序调试程序,这时候频繁的下载代码就比较麻烦,开发初期可以使用NFS的方式挂载根文件系统,这样调试将非常方便,开发板配置nfs挂载根文件系统需要按如下配置内核:1、配置网络部分,主要是使能CONFIG_IP_PNP以在2中能够看到Root file system on NFS选项Networking support Networking options ...原创 2019-05-19 20:59:58 · 831 阅读 · 1 评论 -
ARM64架构的寄存器
ARM64提供了31个通用寄存器,其用途如下表:x0~x7:传递子程序的参数和返回值,使用时不需要保存,多余的参数用堆栈传递,64位的返回结果保存在x0中。x8:用于保存子程序的返回地址,使用时不需要保存。x9~x15:临时寄存器,也叫可变寄存器,子程序使用时不需要保存。x16~x17:子程序内部调用寄存器(IPx),使用时不需要保存,尽量不要使用。x18:平台寄存器,它的使用与平台相...原创 2019-04-09 20:32:46 · 13670 阅读 · 1 评论 -
Linux 内核链表的使用
这里写自定义目录标题Linux内核链表的核心思想是:在用户自定义的结构A中声明list_head类型的成员p,这样每个结构类型为A的变量a中,都拥有同样的成员p,如下:struct A{int property;struct list_head p;}其中,list_head结构类型定义如下:struct list_head {struct list_head *next,*pre...转载 2019-03-19 00:38:59 · 747 阅读 · 0 评论 -
根文件系统文件解析
根文件系统中主要有以下几个文件:etc/init.d/rc.Setc/fstabetc/inittabprofilerc.S文件内容如下:#!/bin/shPATH=/sbin:/bin:/usr/sbin:/usr/binrunlevel=Sprevlevel=Numask 022export PATH runlevel prevlevelmount -aecho /...原创 2019-01-25 17:13:57 · 228 阅读 · 0 评论 -
C语言中的变参原理
在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来printf的第一个被找到的参数就是那个字符指针,就是被双引号括起来的那一部分,函数通过判断字符串里控制参数的个数来判断参数个数及数据类型,通过这些就可算出数据需要的堆栈指针的偏移量了。参数是最后的先压入栈中,最先的后压入栈中,参数控制的那...原创 2019-01-25 17:25:50 · 614 阅读 · 0 评论 -
如何根据Linux内核的版本号选择交叉编译工具链
一般来说,我们个人开发都会利用上游芯片厂商提供的配套开发的交叉编译工具链,这样保证和原厂使用的是同一套环境,能够避免很多不必要的麻烦,但是经常遇到老版本的内核原厂官方不在支持,但是我们又有升级内核的需要,这个时候只能自己动手解决了,一般情况下所移植的内核在readme文件中有提到编译该版本内核所需要的最低工具链版本号,可据此参考寻找合适的交叉编译工具链。COMPILING the kernel:...原创 2019-01-30 11:07:19 · 4480 阅读 · 4 评论 -
S5PV210开发板移植Linux4.4.1内核并使用设备树传参
-----最近手头之前学习使用的是九鼎的X210开发板,使用的是S5PV210 SOC,目前210 的学习资料也比较丰富,易于学习。可是目前最多的资料都是基于Linux2.6.35.7这个内核版本来学习的。今天下载了Linux4.4.1版本的内核,发现该版本上使用设备树传参已经很好的支持了S5PV210,特此打算移植4.4.1版本的内核并且使用设备树传参来启动内核。说干就干,从官网下载Linux...原创 2019-01-30 12:15:29 · 2466 阅读 · 1 评论 -
移植QT5.6.2到X210开发板
上一篇已经将tslib移植到开发板上并且已经正常工作了,下一步就是移植QT到开发板,距离在开发板上实现QT应用程序就差这一步了。接下来就是移植QT了。QT源码及各种资源的下载主站:http://download.qt.io/archive/qt/里面有各个版本的QT,但是因为我开发板上一直使用的是三星当时使用的arm-2009q3的工具链,该版本工具链是使用的还是c++98,但是现在最新的QT...原创 2019-02-21 18:30:12 · 656 阅读 · 0 评论 -
最新手机厂商Android kernel内核下载
在各家手机厂商的手机上市后按照GPL规定所使用的Android内核都会开源出来,这对我们个人来说是非常好的学习资料,而且一般手机厂商会更新升级最新的内核大版本。小米手机的内核开源下载地址:https://github.com/MiCode/Xiaomi_Kernel_OpenSource华为手机内核开源下载地址:https://consumer.huawei.com/en/opensour...原创 2019-02-18 11:34:10 · 4196 阅读 · 0 评论 -
驱动中常用的获取devices tree属性的api
例如dts文件中设置如下: qcom,sw-jeita-enable; qcom,usb-icl-ua = <2500000>; qcom,thermal-mitigation = <1800000 1600000 1400000 1200000 1000000 1000000 1000000>;1.获取是否存在该属性:chg->sw_jeita_...原创 2019-02-18 14:38:23 · 884 阅读 · 0 评论 -
Android 驱动中的定时器timer,hrtimer,alarmtimer
这几天需要在底层驱动实现一个feature,需要用到较长时间超时,使用了内核中相关的定时器模块来操作,下面不啰嗦,直接进入范例:一.内核驱动中常规定时器,也是使用最为广泛的定时器,使用范例如下:#include <linux/timer.h>sturct charger_chip {... /*timer*/ struct timer_list ctrl_timer;}...原创 2019-02-13 21:08:42 · 1925 阅读 · 0 评论 -
tslib移植到X210开发板
要想在开发板上使用QT第一步需要移植tslib,QT底层依赖于tslib。所以接下来记录下tslib的移植过程。移植tslib之前要保证触摸屏驱动的fb驱动好用,然后最好通过nfs来挂载根文件系统,这样有利与后面测试和验证。1.下载tslib库,这个网上资源很多,而且版本比较老,基本没有更新,使用最多的就是tslib1.4版本,所以也使用该版本移植。解压:tar -xvf tslib-1....原创 2019-02-20 10:13:00 · 340 阅读 · 0 评论 -
UBOOT编译配置过程解析
**主Makefile 内容解析**U_BOOT_VERSION = 1.3.4VERSION_FILE = $(obj)include/version_autogenerated.hHOSTARCH := i386HOSTOS := linuxexport HOSTARCH HOSTOSMKCONFIG := $(SRCTREE)/mkconfig //主要建立了各种符...原创 2019-01-25 17:08:19 · 383 阅读 · 0 评论