![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
全志H3踩坑之旅
文章平均质量分 80
不想好好取名字
这个作者很懒,什么都没留下…
展开
-
深入理解FBTFT--编写自己的FB驱动2(Driver)
深入理解FBTFT--编写自己的FB驱动2 Driver前言FBTFT Driver过程FBTFT 图形写入内部函数之间的调用未完,更新中。。。前言我们之前完成了对fbtft_device.c的修改,使得在fboled_device.c只包含用于设置SPI控制器的信息,具体的显示屏信息我们将放在Driver中进行设置,为什么我们要这么做?按照fbtft_device.c中的思想,fbtft_device.c包含里大量显示屏的相关信息,这些信息将被提取传给driver,例如:像素长宽高等。在fbtft源原创 2020-10-02 19:38:57 · 1319 阅读 · 3 评论 -
深入理解FBTFT--使用篇
深入理解FBTFT--使用篇文章背景文章目标正文材料:编辑Device添加Driver可能遇到的问题总结文章背景最近扣扣群里老是有人问fbtft该怎么用,为什么显示屏驱动不了,之前一直忙着学习Linux内核,国庆到了,该放假了(总结一波之前的学习成果了,顺便填坑),所以该系列是填坑系列。链接: 挖坑处:FBTFT源码逻辑分析没有看过的可以看一下,不看也没关系。总之虽然fbtft的代码年代久远已经停止维护被移在staging中,但是fbtft中逻辑的代码完全可以作为初学者第一篇理解内核模块的文章。那原创 2020-09-30 23:06:43 · 6182 阅读 · 8 评论 -
FBTFT源码逻辑分析
fbtft源码分析结构体宏定义结构体struct fbtft_gpio 储存管脚名字到GPIO号的映射struct fbtft_par; FBTFT主要的数据结构struct fbtft_ops类似与file_operations,定义了一些操作函数,大多数在fbtft_framebuffer_alloc()被指定了默认的回调函数struct fbtft_display 储存显示的参数struct fbtft_platform_data储存特定的数据,用于传递给驱动drive原创 2020-08-01 09:35:33 · 1475 阅读 · 0 评论 -
Linux fwnode和device_node的区别
Linux fwnode和device_node的区别废话不多说,直接开干。fwnode_property_read_u32(dev_fwnode(&client->dev), “rotation”, &rotation);为例子先看dev_fwnode();struct fwnode_handle *dev_fwnode(struct device *dev){ return IS_ENABLED(CONFIG_OF) && dev->of_node原创 2020-07-31 10:07:30 · 6536 阅读 · 4 评论 -
Arm Linux设备树学习笔记1
Arm Linux设备树学习笔记一开始初学设备树,碰到问题如下:第一:设备树的语法了解设备树的语法后第二:驱动是怎样和设备树进行交互的原创 2020-07-30 20:21:10 · 270 阅读 · 0 评论 -
Linux设备模型学习笔记(1)
Linux设备模型学习笔记1KobjectKobject, Kset和KtypeUeventsysfs文件系统wowo这里写的很好了:http://www.wowotech.net/device_model/13.htmlLinux内核等看wowo写的很有帮助我写一下我的理解。记录一下自己的学习历程,以免日后忘记。按照wowo的顺序写。学习Linux设备模型前先要了解一下内核大体上看Linux内核是分层架构,设备模型也是同样的,分层的架构有助于Linux代码变得简洁。之前有接触过STM32原创 2020-07-30 09:57:31 · 253 阅读 · 0 评论 -
脱离X86,在ARM Linux上独立编译模块
在ARM Linux上独立模块编译单个文件Makefile实例Hello模块实例编译挂载模块查看模块的输出多个文件Makefile实例编译Hello模块实例挂载模块卸载模块前面的博客我们使用X86主机完成了Linux内核和模块的编译,在使用ARM Linux进行开发的时候,我们需要编写自己的模块,用X86主机当然可以完成模块的编译,但是如果能使用ARM主机直接编译,就能方便很多。同样内核也是可以在ARM上完成编译的,做到我编译我自己。但是ARM性能弱,不建议编译内核,但是编译个模块还是绰绰有余的。单个文原创 2020-07-25 21:55:09 · 363 阅读 · 0 评论 -
ARM Debian启动桌面图形界面,基于全志H3
ARM Debian启动桌面图形界面,基于全志H3回顾目标回顾之前我们在博客中完成了主线U-boot和Linux内核,以及Debian buster文件系统的编译和烧入,不出意外,现在香橙派是能正常工作的。目标在这篇博客中,我们的重点是搭建好图形环境,启动桌面。由于全志公司的重点是在安卓上,所以在H3的GPU驱动上,如果需要在Linux上安装全志的硬解驱动,会遇到许多未知的问题并且驱动不稳定。...原创 2020-07-24 18:09:34 · 39636 阅读 · 0 评论 -
ARM Debian buster根文件系统的建立
ARM Debian buster根文件系统的建立目标步骤先插上TF卡并且mount挂载下载Debian根文件系统和模拟器挂载根文件系统到主机上进入qemu虚拟机解压debian 10替换源配置ssh服务器配置 /etc/fstab 挂载添加一个普通用户和修改root密码设置网络拷贝外部模块退出虚拟器写入根系统目标上文中我们成功编译并启动了内核,内核和文件系统的关系感兴趣的可以查查,这里不多BB了。通过烧入文件系统,我们实现在香橙派上正常运行使用Linux。步骤在x86 Linux主机上使用qe原创 2020-07-24 09:58:38 · 2275 阅读 · 2 评论 -
香橙派全志H3烧入U-boot和Linux内核以及配置
全志H3烧入U-boot和Linux内核以及配置1.U-boot的烧入和U-boot环境配置1.1U-boot烧入和启动测试2.编译完的内核处理和烧入2.1处理内核2.2烧入内核1.U-boot的烧入和U-boot环境配置1.1U-boot烧入和启动测试需要的材料:准备一张性能良好的TF卡,不要用淘宝那种几块钱包邮的TF卡,容易坏读卡器之前编译得到的u-boot-sunxi-with-spl.bin文件首先先清除TF卡上所有分区(也可以不清除)接着输入:dd if=u-boot-sunxi原创 2020-07-23 20:26:07 · 9088 阅读 · 1 评论 -
全志H3主线U-Boot及Linux编译流程总结
全志H3主线U-Boot及Linux编译写这篇文章的目的:1.设置交叉编译链环境2.编译U-boot-2020-043.主线内核编译写这篇文章的目的:一个月前买了块香橙派One,现在又入手了块香橙派Pc plus,结果当初的编译流程有点记不清楚了,编译又耽误了一个下午的时间,看来还是要总结一下。在这篇文章里,使用的U-boot版本为2020-04。使用的Linux内核版本为5.3.5+(可能不是主线内核,因为是从香橙派Github上下载的5.3.5,所以和主线的内核会有稍微的区别)。负责交叉编译的原创 2020-07-23 16:33:59 · 5575 阅读 · 1 评论