Tiny4412
来自百问网嵌入式Linux wiki
目录
构建工具
- 嵌入式Linux构建工具
Buildroot
项目地址: https://github.com/zczjx/buildroot-es_udk
提交权限申请: 火哥(QQ: 287334895)
已经支持的构建配置:
tiny4412_linux_k4_4_defconfig --> tiny4412 linux-4.4.38嵌入式版 raspberrypi3b_aarch32_eabihf_defconfig --> 树莓派3B 嵌入式Linux QT发行版
Buildroot相关教程: https://blog.csdn.net/zhou_chenz/article/category/6019071
Yocto
- Android构建工具
- Ubuntu / Debian构建工具
发行版系统
- ubuntu
- debian
编译器与工具链下载地址
- Linaro 官方arm-linux-gcc 各版本工具链下载入口: https://releases.linaro.org/components/toolchain/binaries/
- arm-linux-gcc 4.9.4 各版本总入口地址: https://releases.linaro.org/components/toolchain/binaries/latest-4/
- arm-linux-gcc-4.9.4 eabi 硬浮点兼容版
- Linux系统 32bit版; https://releases.linaro.org/components/toolchain/binaries/latest-4/arm-linux-gnueabi/gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabi.tar.xz
- Linux系统 64bit版: https://releases.linaro.org/components/toolchain/binaries/latest-4/arm-linux-gnueabi/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi.tar.xz
- arm-linux-gcc-4.9.4 eabihf 真硬浮点版
- Linux系统 32bit版; https://releases.linaro.org/components/toolchain/binaries/latest-4/arm-linux-gnueabihf/gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.xz
- Linux系统 64bit版: https://releases.linaro.org/components/toolchain/binaries/latest-4/arm-linux-gnueabihf/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
应用测试用例
我们辛辛苦苦写好的驱动不就是为了让应用拿来用的吗? -- 韦东山老师
- BSP应用测试用例(除glib2之外或者OMX,OpenGL等不开源库,尽量不依赖第三方库)
用途: 最底层的应用,用于测试验证写好的驱动是否正常工作 项目地址: https://github.com/zczjx/arm-linux-bsp-tests 提交权限申请: 火哥(QQ: 287334895)
- Linux第三方库测试用例
用途: 调用tslib, libv4l, ffmpeg等第三方库,测试验证更加高级的驱动功能 项目地址: https://github.com/zczjx/linux-3rd-lib-tests 提交权限申请: 火哥(QQ: 287334895)
uboot项目
火哥官方修改版
地址: https://github.com/zczjx/uboot_tiny4412
配置文件 tiny4412_config
提交权限申请: 火哥(QQ: 287334895)
特点: * 基于友善官方uboot-2010.12修改,版本比较旧 * 支持Linux-3.x zImage 和 Linux4.x uImage + dtb 双内核可选择启动, 以便大家移植新内核驱动可以切换内核进行对比 * 支持双文件系统切换启动,以便大家对比自己制作的文件系统和官方文件系统功能差异 Tiny4412刷机参考链接: https://github.com/zczjx/linux-4.4.38-for-tiny4412/blob/master/README.md
Tiny4412板子与芯片相关的启动脚本与固件
地址: https://github.com/zczjx/tiny4412-userland 提交权限申请: 火哥(QQ: 287334895)
说明:
里面包含tiny4412的一些开机必备的启动脚本,以及一些官方提供的驱动需要加载的固件,比如isp的固件,mfc的固件
Linux内核与驱动
linux-4.4.38
提交权限申请: 火哥(QQ: 287334895)
源码地址: https://github.com/zczjx/linux-4.4.38-for-tiny4412
设备树dts: exynos4412-tiny4412.dts
默认config: tiny4412_linux_4_4_defconfig
编译参考
下载并设置 arm-linux-gcc version 4.9.4 cp tiny4412_linux_4_4_defconfig .config make LOADADDR=0x40008000 uImage make dtbs
已经移植好的核心驱动:
* RGB显示屏fimd驱动 s3c-fb.c (无DRM功能) * FIMC capture DVP摄像头采集驱动 exynos4-is/fimc-capture.c * FIMC m2m pixel coversion 像素格式硬件转换 * ov5640自动聚焦摄像头sensor, ov5640.c * s5p-jpeg jpeg 硬件编解码驱动(encode连续编码开源驱动有bug, 应用代码做了workaround) * s5p-mfc codecs h264等相关视频格式硬件编解码驱动
已经移植好的非核心驱动:
* spidev通用SPI驱动 * i2cdev 通用I2C驱动 * leds 点灯驱动 * tiny4412_ts_backlight tiny4412_1wire 屏幕背光与亮度驱动(单总线协议接口) * hc-sr04 超声测距驱动 * pwm-buzzer pwm蜂鸣器驱动 * at24c08 eeprom驱动 * ft5406 触屏驱动(i2c接口读写) * mma7660 g-sensor重力传感器驱动 * nfc-mfrc522 rc522 NFC卡读卡器驱动 * mshc_0 emmc/sd卡驱动 * tmu 温度计thermal驱动 * adc 模数转换驱动(使用hwmon框架) * watchdog驱动 * rtc 驱动 * usb4604 以太网卡复位驱动
linux-4.9
地址:
提交权限申请: 设备树dts:
默认config:
已经移植好的核心驱动:
已经移植好的非核心驱动:
linux-4.14
地址:
提交权限申请: 设备树dts:
默认config:
已经移植好的核心驱动:
已经移植好的非核心驱动:
linux-4.19
地址:
提交权限申请: 设备树dts:
默认config:
已经移植好的核心驱动:
已经移植好的非核心驱动:
linux-4.20
地址:https://github.com/TinyWindzz/linux-4.20
提交权限申请: 2304083234 设备树dts: exynos4412-tiny4412.dts
默认config:
已经移植好的核心驱动:
已经移植好的非核心驱动:
repo管理
- 考虑uboot/kernel等代码仓库较多,不方便进行配置切换,故而使用repo进行管理。
- 首先根据您的办公网络情况,获取repo工具。在构建和谐社会的大前提下,需要修改REPO_URL,可参考以下修改
## REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo' REPO_URL = https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
- 也可以直接使用修改好的repo命令,使用方法如下
100ask@book$ git clone https://git.dev.tencent.com/codebug8/repo.git 100ask@book$ sudo cp repo/repo /bin/
国内coding仓库
book@100ask$ mkdir -p tiny4412_source && cd tiny4412_source book@100ask$ repo init -u https://dev.tencent.com/u/weidongshan/p/manifests/git -b linux-sdk -m samsung/tiny4412/tiny4412_linux_release.xml --no-repo-verify book@100ask$ repo sync -j4
国外git hub仓库
xml地址: https://github.com/tinylaker/manifest
拉取代码仓库 $ mkdir -p tiny4412 $ cd tiny4412 $ repo init -u https://github.com/tinylaker/manifest -m default.xml --no-repo-verify $ repo sync -j4
查看源码目录 $ ls buildroot firmware kernel test uboot $ ls kernel/ linux-4.20 linux-4.4.38 $ ls test/ bsp lib $ ls uboot/ uboot-2010.12 uboot-2018.07
交流群
QQ群: 149827797