盈鹏飞嵌入式带你玩转T113系列tina5 SDK(2)-TinaSDK的目录结构介绍

SBC-T113产品特性:

  • 采用Allwinner公司Cortex-A7双核T113-i处理器,运行最高速度为1.2GHZ;
  • 内置64-bit XuanTie C906 RISC-V协处理器;
  • 支持JPEG/MJPEG视频编码,最大分辨率1080p@60fps;支持多格式1080P@60fps视频解码 (H.265,H.264, MPEG-1/2/4);
  • 支持RGB666/LVDS/MIPI-DSI,分辨率最高1920x1080;
  • 支持512-1G Bytes DDR3 SDRAM;
  • 支持SPI NAND存储和启动(默认:256MB;最大1GB)或者EMMC启动(默认:4GB,最大32GB);
  • 支持四路USB2.0 HOST;
  • 支持六路RS232通信;
  • 支持双路CAN BUS通信(隔离);
  • 支持双路以太网,一路10/100M;一路10/100/1000M;
  • 稳定的操作系统的支持,可预装Ubuntu20.04/LINUX 5.4 Preempt/Tina5.0;
  • 标准3.5寸主板, 尺寸为:146*102MM;

SBC-T113功能评估图:

image

1. TinaSDK的目录结构介绍

Tina Linux v5.0目录结构主要有构建工具、构建系统、配置工具、工具链、芯片配置目录、内核及boot目录等组成。Tina Linux v5.0内置快速跳转指令,可以快速进入相关文件夹进行编辑修改。

下面按照目录顺序与快速跳转指令做简单介绍。

点击查看代码
/* by 01022.hk - online tools website : 01022.hk/zh/formatxml.html */
TinaLinux/
  ├── brandy                               # 存放boot0,uboot等代码。
  ├── build                                # 存放Tina Linux的系统构建脚本
  ├── buildroot                            # 存放buildroot相关的配置文件以及原生builroot代码
  ├── build.sh -> build/top_build.sh       # 超链接至build/top_build.sh
  ├── device                               # 存放芯片方案的配置文件
  ├── kernel                               # 存放不同版本的内核代码
  ├── openwrt                              # 存放openWrt原生代码,及软件包、芯片方案目录
  ├── out                                  # 存放编译相关的临时文件和最终镜像文件
  ├── platform                             # 存放着一些软件包源码
  ├── prebuilt                             # 存放一些预编译好的工具
  └── tools                                # 存放一些host端工具,下载打包工具

  • brandy目录下主要存放boot0,uboot等代码。
点击查看代码
/* by 01022.hk - online tools website : 01022.hk/zh/formatxml.html */
brandy
  └── brandy-2.0
      ├── build.sh -> tools/build.sh       # 超链接
      ├── spl-pub                          # boot0仓库
      ├── tools                            # 一些工具
      └── u-boot-2018                      # u-boot 源码
快捷跳转命令:cboot cboot0

  • build目录-

build目录存放Tina Linux的系统构建脚本,主要功能有:
a) 提供编译需要的环境变量、函数、规则。

b) 提供各目标模块的编译方法、规则。

c) 对接 openWrt, buildroot 等不同构建系统。

d) 打包生成系统固件的脚本

快捷跳转命令:cbuild

  • Buildroot目录

buildroot 相关的配置文件以及原生 builroot 代码

  • device目录

device目录用于存放芯片方案的配置文件,包括内核配置,env配置,分区表配置,sys_config.fex, board.dts等。

点击查看代码
device
  ├── config
  │   ├── chips
  │   ├── common
  │   └── rootfs_tar
  └── product -> ./config/chips/t113_s4
快捷跳转命令:cchips, cconfigs

  • kernel目录主要存放不同版本的内核代码。
点击查看代码
kernel
└── linux-5.4

  • openwrt

openwrt目录存放着openWrt原生代码,及软件包、芯片方案目录。

点击查看代码
openwrt
  ├── build         # openWrt构建系统相关hook脚本
  ├── dl            # 软件压缩包
  ├── openwrt       # openWrt原生代码目录
  ├── package       # 额外添加的软件包,包括AW软件包、第三方软件包,feeds引入的软件包
  └── target        # 各个芯片方案目录,用于保存差异化配置信息

  • out目录

out目录用于保存编译相关的临时文件和最终镜像文件 ,编译后自动生成此目录,例如编译方案t113_s4-sbc-t113s。

点击查看代码
out
  ├── t113_s4
  │   ├──sbc-t113s
  │   │   ├── buildroot
  │   │   ├── openwrt
  │   │   └── pack_out
  │   └── kernel
  └── toolchain
      └── gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi

根据配置选择,最终的编译产物会在openwrt或者buildroot目录下,而打包生成固件的准备文件都存放在pack_out下,kernel是内核编译产物(仅限linux-5.4及以上版本), toolchain目录是存放着解压后的工具链,用于编译内核。

快捷跳转命令:cout

  • out/openwrt目录
点击查看代码
out/openwrt
  ├── boot.img
  ├── rootfs.img
  ├── build_dir
  ├── staging_dir
  ├── tmp
  ├── extra
  ├── t113_s4_linux_ sbc-t113s_uart0.img
  ├── uImage
  ├── vmlinux
  └── zImage

  • boot.img为最终烧写到系统boot分区的数据,可能为boot.img格式也可能为uImage格式。

  • rootfs.img为最终烧写到系统rootfs分区的数据,该分区默认为squashfs格式。

  • build_dir为sdk编译host,target和toolchain的临时文件目录,存有各个软件包的源码。

  • staging_dir为sdk编译过程中保存各个目录结果的目录。

  • extra目录下会保存的是最终生成的ipk软件包。

  • tmp目录下会保存着本方案软件包相关的信息

  • t113_s4_linux_sbc-t113s.img为最终固件包(系统镜像),串口信息通过串口输出

  • 若使用pack -d,则生成的固件包为xxx_card0.img,串口信息转递到tf卡座输出。

  • 快捷跳转命令:ctarget, crootfs

  • platform目录

platform目录存放着一些软件包源码,这些软件包的编译方式是通用的,分别可以用在openWrt或者buildroot等不同构建系统中。这个目录的存在是为了不同构建系统共用软件包提供可能性。

目前platform目录结构如下,主要根据是否为全志自研改动,以及类别区分:

点击查看代码
platform
  ├── allwinner
  │   ├── power
  │   ├── system
  │   ├── usb
  │   ├── utils
  │   └── wireless
  └── thirdparty
      └── gui

  • prebuilt目录

prebuilt目录存放着一些预编译好的工具

点击查看代码
├── hostbuilt
│   ├── make4.1
│   └── python3.8
├── kernelbuilt
│   ├── aarch64
│   ├── arm
│   └── riscv
└── rootfsbuilt
    ├── aarch64
    ├── arm
    └── riscv

  • hostbuilt目录下存放着make以及python3.8工具,为了解决个别Host端工具版本过低导致编译失败的问题
  • kernelbuilt目录存放着编译内核的工具链压缩包,它会被解压到 out/toolchain 目录下
  • rootfsbuilt目录存放着编译rootfs的工具链
tools目录

tools目录用于存放一些host端工具, 例如打包工具。

快捷跳转目录指令列表
点击查看代码
croot                          - Changes directory to the top of the tree
    cbsp                           - Changes directory to the bsp
    cbsptest                       - Changes directory to the bsptest
    ckernel                        - Changes directory to the kernel
    cbrandy                        - Changes directory to the brandy
    cboot                          - Changes directory to the uboot
    cbr                            - Changes directory to the buildroot
    cchips                         - Changes directory to the board
    cconfigs                       - Changes directory to the board's config
    cbin                           - Changes directory to the board's bin
    cdts                           - Changes directory to the kernel's dts
    ckernelout                     - Changes directory to the kernel output
    cout                           - Changes directory to the product's output
    copenssl                       - Changes directory to the product's openssl-1.0.0

MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
### Tina Linux SDK 简介 Tina Linux 是一款基于 OpenWrt 的嵌入式 Linux 系统,专为全志科技(Allwinner)的芯片平台设计,适用于多种开发板和嵌入式设备。Tina Linux SDK 提供了完整的开发工具链、内核源码、驱动支持、用户空间工具以及示例代码,方便开发者快速构建基于全志芯片的嵌入式系统[^1]。 对于基于 T113-S3 芯片的 BingPi-M2 开发板,Tina Linux SDK 包含了针对该平台的定制化支持,包括: - **Bootloader(U-Boot)**:用于初始化硬件并加载 Linux 内核。 - **Linux 内核**:基于 Linux 5.4 内核版本,包含了对 T113-S3 芯片的支持,如 GPIO、SPI、I2C、USB、显示控制器等外设驱动。 - **设备树(Device Tree)**:提供 `board.dts` 和 `uboot-board.dts` 文件,用于描述硬件配置信息,确保内核和 U-Boot 正确初始化硬件[^3]。 - **文件系统**:提供基于 Buildroot 或 Yocto 的根文件系统构建工具,支持多种应用程序和库。 - **打包工具(pack)**:用于将 U-Boot、内核、设备树和文件系统打包为可烧录的固件镜像,例如 `tina_t113-bingpi_m2_uart3.img` 文件[^1]。 - **配置文件**: - `sys_config.fex`:用于配置启动参数、DRAM 设置、UART 设置等。 - `sys_partition.fex`:定义固件的分区布局,如 boot0、uboot、kernel、rootfs 等[^3]。 ### 使用文档 #### 1. 获取 SDK Tina Linux SDK 通常以源码形式提供,开发者可以从官方 Git 仓库或通过开发板厂商提供的资料获取。以 BingPi-M2 开发板为例,SDK 通常位于 `/home/meetyoo/t113/Tina-Linux` 目录下。 #### 2. 编译流程 - **编译 U-Boot 和内核** 在 SDK目录执行以下命令编译 U-Boot 和内核镜像: ```bash make mboot ``` 该命令会生成 U-Boot 和内核镜像,并将其放入 `out/t113-bingpi_m2` 目录中。 - **打包固件** 执行以下命令将所有组件打包为可烧录的镜像文件: ```bash make pack ``` 打包完成后,会在 `out/t113-bingpi_m2` 目录下生成 `tina_t113-bingpi_m2_uart3.img` 文件,可用于 TF 卡烧录[^2]。 #### 3. 固件烧录 使用工具如 `Win32DiskImager`(Windows)或 `dd`(Linux)将生成的 `.img` 文件烧录到 TF 卡中,插入 BingPi-M2 开发板后上电即可启动 Tina Linux 系统[^2]。 #### 4. 配置与定制 - **内核配置** 内核配置文件位于 `linux/config-5.4`,可通过 `make menuconfig` 或直接编辑该文件来调整内核功能。 - **设备树修改** 修改 `board.dts` 可调整内核的硬件配置,而 `uboot-board.dts` 用于 U-Boot 的硬件初始化配置[^3]。 - **系统配置** `sys_config.fex` 和 `sys_partition.fex` 可通过打包工具更新固件的头部信息,如 UART 波特率、内存参数等。 #### 5. 调试与开发 SDK 提供了完整的调试接口支持,开发者可通过串口、网络等方式连接开发板,进行应用程序开发和系统调试。 --- ### 示例代码:查看内核配置 ```bash cat linux/config-5.4 | grep CONFIG_SERIAL ``` 该命令可用于查看内核中串口相关的配置项,帮助开发者确认 UART 是否启用。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值