“Tiny4412”的版本间的差异

来自百问网嵌入式Linux wiki
(add toolchain)
(无人维护)
 
(未显示3个用户的56个中间版本)
第1行: 第1行:
Tiny4412 相关项目信息汇总
+
= 构建工具=
 +
* 嵌入式Linux构建工具
  
 
+
==Buildroot==
1. 构建工具
 
 
 
- 嵌入式Linux构建工具
 
 
 
* Buildroot
 
 
   项目地址: https://github.com/zczjx/buildroot-es_udk
 
   项目地址: https://github.com/zczjx/buildroot-es_udk
  
 
   提交权限申请: 火哥(QQ: 287334895)
 
   提交权限申请: 火哥(QQ: 287334895)
  
  已经支持的构建配置:
+
已经支持的构建配置:
       tiny4412_linux_defconfig --> tiny4412 linux-4.4.38嵌入式版
+
       tiny4412_linux_k4_4_defconfig --> tiny4412 linux-4.4.38嵌入式版
 
       raspberrypi3b_aarch32_eabihf_defconfig --> 树莓派3B 嵌入式Linux QT发行版
 
       raspberrypi3b_aarch32_eabihf_defconfig --> 树莓派3B 嵌入式Linux QT发行版
  
 
   Buildroot相关教程: https://blog.csdn.net/zhou_chenz/article/category/6019071
 
   Buildroot相关教程: https://blog.csdn.net/zhou_chenz/article/category/6019071
  
* Yocto 
+
==Yocto ==
 +
* Android构建工具
 +
* Ubuntu / Debian构建工具
 +
==发行版系统==
 +
*ubuntu
 +
*debian
  
- Android构建工具
+
= 编译器与工具链下载地址=
 
 
- Ubuntu / Debian构建工具
 
 
 
 
 
2. 编译器与工具链下载地址
 
 
* 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
第39行: 第34行:
 
   - 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
  
 
+
=应用测试用例=
 
 
3. 应用测试用例
 
 
 
 
     我们辛辛苦苦写好的驱动不就是为了让应用拿来用的吗? -- 韦东山老师
 
     我们辛辛苦苦写好的驱动不就是为了让应用拿来用的吗? -- 韦东山老师
  
- BSP应用测试用例(除glib2之外或者OMX,OpenGL等不开源库,尽量不依赖第三方库)
+
* BSP应用测试用例(除glib2之外或者OMX,OpenGL等不开源库,尽量不依赖第三方库)
 
     用途: 最底层的应用,用于测试验证写好的驱动是否正常工作
 
     用途: 最底层的应用,用于测试验证写好的驱动是否正常工作
 
     项目地址: https://github.com/zczjx/arm-linux-bsp-tests
 
     项目地址: https://github.com/zczjx/arm-linux-bsp-tests
 
     提交权限申请: 火哥(QQ: 287334895)
 
     提交权限申请: 火哥(QQ: 287334895)
  
- Linux第三方库测试用例
+
* Linux第三方库测试用例
 
   用途: 调用tslib, libv4l, ffmpeg等第三方库,测试验证更加高级的驱动功能
 
   用途: 调用tslib, libv4l, ffmpeg等第三方库,测试验证更加高级的驱动功能
 
   项目地址: https://github.com/zczjx/linux-3rd-lib-tests
 
   项目地址: https://github.com/zczjx/linux-3rd-lib-tests
第56行: 第48行:
 
      
 
      
  
4. uboot项目
+
= uboot项目=
  
- 火哥官方修改版
+
== 火哥官方修改版==
  
 
   地址: https://github.com/zczjx/uboot_tiny4412
 
   地址: https://github.com/zczjx/uboot_tiny4412
 +
 +
  配置文件 tiny4412_config
  
 
   提交权限申请: 火哥(QQ: 287334895)
 
   提交权限申请: 火哥(QQ: 287334895)
第73行: 第67行:
 
   https://github.com/zczjx/linux-4.4.38-for-tiny4412/blob/master/README.md
 
   https://github.com/zczjx/linux-4.4.38-for-tiny4412/blob/master/README.md
  
-uboot_2018_07
+
== uboot_2018_07==
 
   地址: https://github.com/TinyWindzz/tiny4412_uboot_2018_07
 
   地址: https://github.com/TinyWindzz/tiny4412_uboot_2018_07
  
 
   提交权限申请: 2304083234
 
   提交权限申请: 2304083234
  
 +
= Tiny4412板子与芯片相关的启动脚本与固件=
 +
  地址: https://github.com/zczjx/tiny4412-userland
 +
  提交权限申请: 火哥(QQ: 287334895)
 +
说明:
 +
  里面包含tiny4412的一些开机必备的启动脚本,以及一些官方提供的驱动需要加载的固件,比如isp的固件,mfc的固件
  
5. Linux内核与驱动
+
=Linux内核与驱动=
  
- linux-4.4.38
+
==linux-4.4.38==
    
+
<br>
  地址: https://github.com/zczjx/linux-4.4.38-for-tiny4412
+
   提交权限申请: 火哥(QQ: 287334895)
 +
 
 +
  源码地址: https://github.com/zczjx/linux-4.4.38-for-tiny4412
 +
 
 +
  设备树dts:  exynos4412-tiny4412.dts
  
  提交权限申请: 火哥(QQ: 287334895)
+
   默认config: tiny4412_linux_4_4_defconfig
    
 
  设备树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功能)
+
  * RGB显示屏fimd驱动 s3c-fb.c (无DRM功能)
  * FIMC DVP摄像头采集驱动 exynos4-is/fimc-capture.c
+
  * FIMC capture DVP摄像头采集驱动 exynos4-is/fimc-capture.c
  * ov5640自动聚焦摄像头sensor, ov5640.c
+
  * FIMC m2m pixel coversion 像素格式硬件转换
 +
  * ov5640自动聚焦摄像头sensor, ov5640.c
 +
  * s5p-jpeg jpeg 硬件编解码驱动(encode连续编码开源驱动有bug, 应用代码做了workaround)
 +
  * s5p-mfc codecs h264等相关视频格式硬件编解码驱动
  
  已经移植好的非核心驱动:
+
已经移植好的非核心驱动:
  * spidev通用SPI驱动
+
  * spidev通用SPI驱动
  * i2cdev 通用I2C驱动
+
  * i2cdev 通用I2C驱动
  * leds 点灯驱动
+
  * leds 点灯驱动
  * tiny4412_ts_backlight tiny4412_1wire 屏幕背光与亮度驱动(单总线协议接口)
+
  * tiny4412_ts_backlight tiny4412_1wire 屏幕背光与亮度驱动(单总线协议接口)
  * hc-sr04 超声测距驱动
+
  * hc-sr04 超声测距驱动
  * pwm-buzzer pwm蜂鸣器驱动
+
  * pwm-buzzer pwm蜂鸣器驱动
  * at24c08 eeprom驱动
+
  * at24c08 eeprom驱动
  * ft5406 触屏驱动(i2c接口读写)
+
  * ft5406 触屏驱动(i2c接口读写)
  * mma7660 g-sensor重力传感器驱动
+
  * mma7660 g-sensor重力传感器驱动
  * nfc-mfrc522 rc522 NFC卡读卡器驱动
+
  * nfc-mfrc522 rc522 NFC卡读卡器驱动
  * mshc_0 emmc/sd卡驱动
+
  * mshc_0 emmc/sd卡驱动
  * tmu 温度计thermal驱动
+
  * tmu 温度计thermal驱动
  * adc 模数转换驱动(使用hwmon框架)
+
  * adc 模数转换驱动(使用hwmon框架)
  * watchdog驱动
+
  * watchdog驱动
  * rtc 驱动
+
  * rtc 驱动
  * usb4604 以太网卡复位驱动
+
  * usb4604 以太网卡复位驱动
  
- linux-4.9
+
==linux-4.9==
 
    
 
    
 
   地址:
 
   地址:
第128行: 第136行:
 
   已经移植好的非核心驱动:
 
   已经移植好的非核心驱动:
  
- linux-4.14
+
==linux-4.14==
 
    
 
    
 
   地址:
 
   地址:
第142行: 第150行:
 
   已经移植好的非核心驱动:
 
   已经移植好的非核心驱动:
  
- linux-4.19
+
==linux-4.19==
 
    
 
    
 
   地址:
 
   地址:
第156行: 第164行:
 
   已经移植好的非核心驱动:
 
   已经移植好的非核心驱动:
  
- linux-4.20
+
== linux-4.20==
 
    
 
    
 
   地址:https://github.com/TinyWindzz/linux-4.20
 
   地址:https://github.com/TinyWindzz/linux-4.20
第170行: 第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仓库,下载同步源码网速带宽可以跑满,省去了部分等待时间
  
6. 交流群
+
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

应用测试用例

   我们辛辛苦苦写好的驱动不就是为了让应用拿来用的吗? -- 韦东山老师
  • 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

uboot_2018_07

 地址: https://github.com/TinyWindzz/tiny4412_uboot_2018_07
 提交权限申请: 2304083234

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

系统烧写方式

刷机参考指南 https://github.com/zczjx/linux-4.4.38-for-tiny4412/blob/master/README.md

SD卡启动

eMMC启动

交流群

QQ群: 149827797