“Tiny4412”的版本间的差异
来自百问网嵌入式Linux wiki
(无人维护) |
|||
(未显示3个用户的43个中间版本) | |||
第1行: | 第1行: | ||
− | |||
− | |||
= 构建工具= | = 构建工具= | ||
* 嵌入式Linux构建工具 | * 嵌入式Linux构建工具 | ||
第18行: | 第16行: | ||
* Android构建工具 | * Android构建工具 | ||
* Ubuntu / Debian构建工具 | * Ubuntu / Debian构建工具 | ||
+ | ==发行版系统== | ||
+ | *ubuntu | ||
+ | *debian | ||
= 编译器与工具链下载地址= | = 编译器与工具链下载地址= | ||
* Linaro 官方arm-linux-gcc 各版本工具链下载入口: https://releases.linaro.org/components/toolchain/binaries/ | * 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 各版本总入口地址: https://releases.linaro.org/components/toolchain/binaries/latest-4/ | ||
− | + | <br> | |
* arm-linux-gcc-4.9.4 eabi 硬浮点兼容版 | * 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系统 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 | ||
第32行: | 第33行: | ||
- 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 | - 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 | ||
− | |||
=应用测试用例= | =应用测试用例= | ||
第53行: | 第53行: | ||
地址: https://github.com/zczjx/uboot_tiny4412 | 地址: https://github.com/zczjx/uboot_tiny4412 | ||
+ | |||
+ | 配置文件 tiny4412_config | ||
提交权限申请: 火哥(QQ: 287334895) | 提交权限申请: 火哥(QQ: 287334895) | ||
第79行: | 第81行: | ||
==linux-4.4.38== | ==linux-4.4.38== | ||
− | 提交权限申请: 火哥(QQ: 287334895) | + | <br> |
− | + | 提交权限申请: 火哥(QQ: 287334895) | |
+ | |||
+ | 源码地址: https://github.com/zczjx/linux-4.4.38-for-tiny4412 | ||
+ | |||
+ | 设备树dts: exynos4412-tiny4412.dts | ||
− | |||
默认config: tiny4412_linux_4_4_defconfig | 默认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 | |
− | + | 已经移植好的核心驱动: | |
− | * spidev通用SPI驱动 | + | * RGB显示屏fimd驱动 s3c-fb.c (无DRM功能) |
− | * i2cdev 通用I2C驱动 | + | * FIMC capture DVP摄像头采集驱动 exynos4-is/fimc-capture.c |
− | * leds 点灯驱动 | + | * 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== | ==linux-4.9== | ||
第165行: | 第178行: | ||
已经移植好的非核心驱动: | 已经移植好的非核心驱动: | ||
+ | =repo管理(暂时无人维护,不建议使用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仓库== | ||
+ | * 使用国内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 | ||
+ | |||
+ | =系统烧写方式= | ||
+ | 刷机参考指南 | ||
+ | https://github.com/zczjx/linux-4.4.38-for-tiny4412/blob/master/README.md | ||
+ | ==SD卡启动== | ||
+ | ==eMMC启动== | ||
=交流群= | =交流群= | ||
QQ群: 149827797 | QQ群: 149827797 | ||
+ | |||
+ | |||
+ | [[Category:Samsung]] | ||
+ | [[Category:Tiny4412]] | ||
+ | [[Category:LinuxKernel4.x]] |
2019年5月9日 (四) 22:14的最新版本
目录
构建工具
- 嵌入式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管理(暂时无人维护,不建议使用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仓库
- 使用国内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