![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
全志Tina-Linux
文章平均质量分 94
韦东山
深圳百问网科技有限公司技术总监,毕业于中国科学技术大学电子、软件专业双学位,10余年嵌入式一线开发经验, 畅销书<<嵌入式Linux应用开发完全手册>>作者, 擅长ARM/MIPS等架构的Linux底层系统开发, 曾为多家知名培训机构特邀讲师,2011年陆续录制的工程师必看教程------韦东山系列Linux/Android视频,有口皆碑。累计学员10万+,当之无愧成为嵌入式培训领域的佼佼者。
展开
-
Tina_Linux配网开发指南
介绍Allwinner 平台上基于wifimanager-v2.0 的WiFi 配网方式,包括softap(WiFi ap 模式热点配网),soundwave(声波配网),BLE(蓝牙低功耗配网)。原创 2023-02-27 10:34:54 · 1223 阅读 · 1 评论 -
Tina_Linux打包流程说明指南_new
固件打包是指将我们编译出来的bootloader、内核和根文件系统一起写到一个镜像文件中,这个镜像文件也叫固件。然后可以将这个镜像写到nand、nor flash 或是sd 卡上,从而启动系统。打包成固件时需要使用到一些打包工具,打包脚本以及打包配置文件。本文主要就是介绍打包时需要哪些工具,需要哪些配置文件,以及固件的生成流程。本文只介绍Tina 打包时特有的工具,其他通用工具如unix2dos 等请自行百度。|--aw_pack.sh #执行此脚本即可在aw_pack_src/out/目录生成固件。原创 2023-02-27 10:33:54 · 1992 阅读 · 0 评论 -
Tina_Linux存储性能参考指南
介绍TinaLinux 存储性能的测试方法和历史数据,提供参考。原创 2023-02-27 10:33:22 · 792 阅读 · 0 评论 -
Tina Linux 存储开发指南
Tina 默认根文件系统格式使用squashfs 格式,这是一种只读压缩的文件系统。很多应用则需要文件系统可写,特别是/etc 等存放较多配置文件的目录,为了满足可写的需求,Tina 默认使用overlayfs 技术。overlayfs 是一种堆叠文件系统,可以将底层文件系统和顶层文件系统的目录进行合并呈现。原创 2023-02-24 11:10:25 · 2095 阅读 · 1 评论 -
Tina_Linux_功耗管理_开发指南
tina 功耗管理系统主要由休眠唤醒(standby、autosleep、runtime pm), 调频调压(cpufreq、devfreq、dvfs ),开关核(cpu hotplug),cpuidle 等子系统组成。主要用于对系统功耗进行管理和控制,平衡设备功耗和性能。一般我们可将其分为两类,即静态功耗管理和动态功耗管理。图2-1: 功耗管理系统分类一般地,可以动态调整或实时改变系统状态而达到节能目的技术,称为动态功耗管理,例如调频调压,idle, hotplug, runtime-pm 等;原创 2023-02-24 11:02:17 · 605 阅读 · 0 评论 -
Tina_Linux_Wi-Fi_开发指南
目前Tina 平台上的Wi-Fi 一般可处于3 种工作模式,分别是STATION,AP,MONITOR。• STATION:连接无线网络的终端,大部分无线网卡默认都处于该模式,也是常用的一种模式。• AP:无线接入点,常称热点,比如路由器功能。• MONITOR:也称为混杂设备监听模式,所有数据包无过滤传输到主机。详情请看Tina_linux_wifimanger2.0_ 开发指南。执行下面的命令前请确保wifi_deamon后台进程已启动,若没有启动请先启动wifi_deamon后台进程。原创 2023-02-24 10:51:19 · 3086 阅读 · 1 评论 -
Tina_Linux_syslog_使用指南
syslog 可以说是一套统一管理系统日志的机制,尤其常用于记录守护进程的输出信息上。因为守护进程不存在控制终端,它的打印不能简单地直接输出到stdin 或stderr。使用syslog 时,一般需要关注两部分:syslog 守护进程与syslog 函数。原创 2023-02-24 10:41:47 · 1921 阅读 · 0 评论 -
Tina_Linux_PMU_开发指南
PMU,负责系统各个模块供电、按键开关机、电池充放电管理。表2-1: 术语简介术语说明PMU电源管理单元,主要包括regulator、power supply、gpio、power key 这四个子功能部分。AXP全志PMU 平台的系列名称,如AXP803、AXP717 等。LDO是low dropout regulator,意为低压差线性稳压器。线性稳压器使用在其线性区域内运行的晶体管或FET,从应用的输入电压中减去超额的电压,产生经过调节的输出电压。DC-DC。原创 2023-02-24 10:26:11 · 1039 阅读 · 1 评论 -
Tina_Linux_OTA_开发指南
此文档主要介绍如何在OTA 时升级boot0/uboot。升级工具包含两个方面内容:OTA 命令升级boot0 和uboot。OTA 升级boot0 和uboot 的C/C++ APIs。SWUpdate 是一个开源的OTA 框架,提供了一种灵活可靠的方式来更新嵌入式系统上的软件。官方源码:官方文档:非官方翻译的中文文档:源码自带文档:解压tina/dl/swupdate-xxx.tar.xz ,解压后的doc 目录下即为此版本源码附带的文档。原创 2023-02-24 10:25:37 · 1869 阅读 · 0 评论 -
Tina_Linux_音频_开发指南
介绍Tina平台音频模块的使用方法。Linux中的音频子系统采用ALSA架构实现。ALSA目前已经成为了Linux的主流音频体系结构。在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。AudioCodecDmicSpdifMAD不同芯片平台的音频接口资源会有差异;不同版本的内核,对应的ALSA驱动也有所不同;下面会对各个芯片作详细介绍。原创 2023-02-24 10:25:05 · 2103 阅读 · 0 评论 -
Tina_Linux_图形系统_开发指南
本文档将介绍 Allwinner Tina Linux 中已经移植好的窗口系统,以及怎么使用,包括MiniGUI、QT5、EFL、GTK+(WebkitGtk、Midori)、DirectFB、Wayland,整体结构如下:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HxqCAORu-1677205148391)(C:\Users\livel\Downloads\OpenRemoved_Tina_Linux_Graphics_system_development_Gui原创 2023-02-24 10:20:16 · 2035 阅读 · 2 评论 -
Tina_Linux_Display_开发指南
图2-1: 模块框图本模块框图如上,由显示引擎(DE)和各类型控制器(tcon)组成。输入图层(layers)在DE中进行显示相关处理后,通过一种或多种接口输出到显示设备上显示,以达到将众多应用渲染的图层合成后在显示器呈现给用户观看的作用。DE 有2 个独立单元(可以简称de0、de1),可以分别接受用户输入的图层进行合成,输出到不同的显示器,以实现双显。DE 的每个独立的单元有1-4 个通道(典型地,de0 有4 个,de1 有2 个),每个通道可以同时处理接受4 个格式相同的图层。原创 2023-02-24 10:20:12 · 539 阅读 · 0 评论 -
Tina Linux LCD调试指南
表2-1: LCD 相关术语术语解释说明SUNXIAllwinner 一系列SoC 硬件平台LCDLiquid Crystal Display, 液晶显示器MIPIDSIDisplay Serial Interface,显示串行接口I8080Intel 8080LCD 接口RGB这里指一种LCD 接口,该接口发送不经过任何编码的RGB 分量LVDSLow-Voltage Differential Signaling 一种LCD 接口,低压和差分传输是其特点。原创 2023-02-24 10:19:35 · 887 阅读 · 0 评论 -
Tina Linux E907开发指南
rpbuf 全志基于rpmsg 开发的一套通信机制,它主要解决rpmsg 不适合传输大数据量的问题。其实现原理是使用rpmsg 传输数据的地址,而不是数据的本身,避免了数据的多次拷贝以及每次传输不能大于496 字节的限制。rpbuf 中使用名字和长度来唯一标识一个buffer,故不能创建相同名字的buffer。remote_dummy_buffers:该buffer 远端已创建,本地未创建local_dummy_buffers:该buffer 本地已创建,远端未创建。原创 2023-02-24 10:18:09 · 660 阅读 · 0 评论 -
Tina Linux Camera开发指南
用于接收并行或者mipi 接口的sensor 信号或者是bt656 格式的信号。表2-1: 平台CSI 框架平台支持接口是否具备ISP模块linux 内核版本camera 驱动框架F35并口csi、mipi否3.4VFER16并口csi否3.4VFER18并口csi否4.4VFER30并口csi否4.4VFER40并口csi否3.10VFER311mipi csi是4.9VINMR133mipi csi是4.9VINR818。原创 2023-02-24 10:16:11 · 974 阅读 · 0 评论 -
全志Tina Linux MPP 开发指南
全志Tina Linux MPP 开发指南支持百问网T113 D1-H哪吒DongshanPI-D1s V853-Pro等开发板1 简述整理 MPP sample 使用说明文档的目的是:使 MPP sample 更好用。2 简介MPP sample 一般存放在 MPP Middleware 的 sample 目录下。此外,MPP Framework 的 demo 目录下也有一些 sample。原创 2023-02-24 10:07:44 · 883 阅读 · 0 评论 -
Linux USB 开发指南
介绍 USB 模块配置和调试方法。USB 有主机功能和从设备功能。做主机时,能连接 U 盘、USB 鼠标等 USB 设备;做从设备时,具有 ADB 调试等从设备功能。 表 2-1: 术语介绍术语说明USBUniversal Serial Bus, 通用串行总线OTGOn-The-GoADBAndroid Debug Bridge,Android 调试桥Gadget小配件HCDHost Controller Driver,主机控制器驱动UDC。原创 2023-02-24 10:01:34 · 3587 阅读 · 2 评论 -
Linux U-Boot 开发指南
介绍 U-Boot 的编译打包、基本配置、常用命令的使用、基本调试方法等, 为 U-BOOT 的移植及应用开发提供了基础。在嵌入式操作系统中,BootLoader/U-Boot 是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在 sunxi 平台中,除了必须的引导系统启动功能外,BOOT 系统还提供烧写、升级等其它功能。U-Boot 主要功能可以分为以下几类引导内核。原创 2023-02-24 10:01:01 · 1152 阅读 · 0 评论 -
Linux UART 开发指南
介绍 Linux 内核中 UART 驱动的接口及使用方法,为 UART 设备的使用者提供参考。Linux 内核中,UART 驱动的结构图 1 所示, 可以分为三个层次: 图 2-1: Linux UART 体系结构图Sunxi UART Driver, 负责 SUNXI 平台 UART 控制器的初始化、数据通信等, 也是我们要实现的部分。UART Core, 为 UART 驱动提供了一套 API, 完成设备和驱动的注册等。原创 2023-02-24 09:57:58 · 4295 阅读 · 1 评论 -
Linux TWI开发指南
介绍 Sunxi 平台上 TWI 驱动接口与调试方法,为 TWI 模块开发提供参考。全志公司的 twi 总线兼容 i2c 总线协议,是一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。TWI 控制器支持的标准通信速率为 100kbps,最高通信速率可以达到 400kbps。全志的 twi 控制器支持一下功能:•支持主机模式和从机模式;•主机模式下支持 dma 传输;•主机模式下在多个主机的模式下支持总线仲裁;•主机模式下支持时钟同步,位和字节等待;•。原创 2023-02-24 09:57:20 · 655 阅读 · 0 评论 -
Linux standby 开发指南
介绍 Standby 模块配置和调试方法。•休眠唤醒指系统进入低功耗和退出低功耗模式,一般称之为 Standby。standby 分为 super standby 和 normal standby,区别是 cpu 是否掉电。•假关机是类似 standby 的一种低功耗模式。进入假关机,系统会先复位,再进入低功耗模式,等待唤醒源;检测到唤醒源,系统退出假关机,直接从低功耗模式复位重启。适用于 OTT 类产品代替常规的关机,实现红外/蓝牙开机功能。原创 2023-02-24 09:57:14 · 629 阅读 · 0 评论 -
Linux SPI 开发指南
介绍 SPI 模块的使用方法,方便开发人员使用。SPI 是一种高速、高效率的串行接口技术。通常由一个主模块和一个或多个从模块组成,主模块选择一个从模块进行同步通信,从而完成数据的交换,被广泛应用于 ADC、LCD 等设备与 MCU 之间。全志的 spi 控制器支持以下功能:•全双工同步串行接口。•支持 5 种时钟源选择。•支持 master 和 slave 两种配置。•四个 cs 片选支持。•8bit 宽度和 64 字节 fifo 深度。•cs 和 clk 的极性和相位可配置。•。原创 2023-02-24 09:51:14 · 4811 阅读 · 0 评论 -
Linux RTC 开发指南
Linux 内核中,RTC 驱动的结构图如下所示, 可以分为三个层次:接口层,负责向用户空间提供操作的结点以及相关接口。• RTC Core, 为rtc 驱动提供了一套API, 完成设备和驱动的注册等。• RTC 驱动层,负责具体的RTC 驱动实现,如设置时间、闹钟等设置寄存器的操作。术语解释说明Sunxi指Allwinner 的一系列SoC 硬件平台RTCReal Time Clock,实时时钟linux-4.9└-- rtclinux-5.4└-- rtc|-- dev.c。原创 2023-02-24 09:50:19 · 678 阅读 · 0 评论 -
Linux MMC 开发指南
介绍 Linux 内核中 SD/MMC 子系统的接口及使用方法,为 SD/MMC 设备驱动的开发提供参考。Linux 提供了 MMC 子系统来实现对各种 SD/MMC/EMMC/SDIO 设备访问,MMC 子系统由上到下可以分为三层,MMC/SD card 层,MMC/SD core 层以及 MMC/SD host 层,它们之间的层次关系如下所示。MMC/SD card 层负主要是按照 LINUX 块设备驱动程序的框架实现一个卡的块设备驱动。负责块设备请求的处理,以及请求队列的管理。原创 2023-02-24 09:51:05 · 2060 阅读 · 0 评论 -
Linux MIPI CSI 开发指南
介绍 VIN(video input)驱动配置,API 接口和上层使用方法。Video input 主要由接口部分(CSI/MIPI)和图像处理单元(ISP/VIPP)组成;CSI/MIPI 部分主要实现视频数据的捕捉;ISP 实现 sensor raw data 数据的处理,包括 lens 补偿、去坏点、gain、gamma、de-mosaic、de-noise、color matrix 等以及一些 3A 的统计;VIPP 能对将图进行缩小、和打水印处理。原创 2023-02-24 09:50:30 · 4060 阅读 · 1 评论 -
Linux GPIO 开发指南
本文档对内核的 GPIO 接口使用进行详细的阐述,让用户明确掌握 GPIO 配置、申请等操作的编程方法。Pinctrl 框架是 linux 系统为统一各 SoC 厂商 pin 管理,避免各 SoC 厂商各自实现相同 pin 管理子系统而提出的。目的是为了减少 SoC 厂商系统移植工作量。许多 SoC 内部都包含 pin 控制器,通过 pin 控制器,我们可以配置一个或一组引脚的功能和特性。在软件上,Linux 内核 pinctrl 驱动可以操作 pin 控制器为我们完成如下工作:•。原创 2023-02-23 11:46:51 · 6024 阅读 · 0 评论 -
Linux SID 开发指南
SID 提供的功能可以分为四大部分:ChipID、SoC Version、Efuse 功能、一些状态位。在获取Key 的时候,调用者需要知道Key 的名称,以此作为索引的依据。sunxi-sid.h 不是所有key 都能访问,一般可以访问的已经在dts 定义。原创 2023-02-23 11:47:26 · 1796 阅读 · 0 评论 -
Linux PWM 开发指南
术语解释说明Sunxi指 Allwinner 的一系列 SOC 硬件平台频率PWM 的频率决定了所模拟电平的平滑度(逼真度),人耳感知的频率范围为 20Hz-16Khz,注意 PWM 的频率不要落在这个区间占空比决定了一个周期内 PWM 信号高低的比例,进而决定了一个周期内的平均电压,也就是所模拟的电平的电压极性决定了是高占空比的信号输出电平高,还是低占空比信号输出电平高。假设一个信号 的占空比为 100%,如果为正常极性,则输出电平最大,如果为翻转的极性,则输出 电平为 0开关。原创 2023-02-23 11:44:45 · 3248 阅读 · 0 评论 -
Linux SPI-NAND 驱动开发指南
介绍 Sunxi SPINand mtd/ubi 驱动设计, 方便相关驱动和应用开发人员•Model:flash 的 model 名字•NandID:flash 的 id 码•DieCntPerChip:每 chip 的 die 个数•BlkCntPerDie:每 die 有多少个 block•PageCntPerBlk:每 block 有多少个 page•SectCntPerPage:每 page 有多少个扇区•。原创 2023-02-23 11:25:33 · 2593 阅读 · 1 评论 -
Linux NOR 开发指南
Linux 中SPINOR 体系结构如下图所示:SPI NOR Framework:这层主要是处理不同厂家的NOR 物理特色差异,初始化SPINOR的工作状态,如工作线宽(1 线、2 线、4 线、8 线)、有效地址位(16M 以上的NOR 需要使用4 地址模式),为上层MTD 提供读写擦接口。对应代码目录:drivers/mtd/spi-nor/spi-nor.cM25P80(generic SPI NOR controller driver):这层主要对SPI NOR Framework。原创 2023-02-23 11:24:49 · 3517 阅读 · 1 评论 -
SPINAND UBI 离线烧录 开发指南
编写目的: 介绍Sunxi SPINand 烧写时的数据布局。原创 2023-02-23 11:24:14 · 655 阅读 · 0 评论 -
Tina_Linux_启动优化_开发指南
编写目的:介绍TinaLinux下启动速度优化使用方法。启动速度是嵌入式产品一个重要的性能指标,更快的启动速度会让客户有更好的使用体验,在某些方面还会节省能耗,因为可以直接关机而不需要休眠。启动速度优化可提升产品的竞争力。对于某些系统来说,启动速度是硬性要求。原创 2023-02-23 11:23:28 · 813 阅读 · 0 评论 -
Tina_Linux_系统裁剪_开发指南
编写目的:嵌入式产品往往为了压缩成本而使用较小的flash存储器,因此可能需要对系统进行裁剪来减少对flash的占用。系统经过裁剪过后,通常也会提升启动速度以及减少内存占用。本文介绍TinaLinux中系统裁剪的方法,为有裁剪需求的使用者提供参考。Tina固件中通常包含boot0、uboot、kernel、rootfs等镜像。表2-1:各镜像尺寸的量级镜像大小boot0< 100Kuboot< 1Mkernelrootfs>= 4M。原创 2023-02-23 11:21:36 · 3124 阅读 · 0 评论 -
OpenRemoved_Tina_Linux_系统调试_使用指南
本文主要服务于使用Tina软件平台的广大客户,帮助开发人员方便快速了解Tina平台系统调试工具。GDB(GNU symbolic debugger)是GNU开源组织发布的一款调试工具,用于调试由GCC编译的代码。它的功能非常强大,使用命令行的调试方式,允许调试复杂的应用程序,给程序开发提供了极大的便利。gdbserver是可以对目标设备上的程序进行远程调试的软件。程序运行过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做CoreDump。原创 2023-02-23 11:20:50 · 343 阅读 · 0 评论 -
Tina Linux 配置开发指南
ARM Linux 中,arch/arm/mach-xxx 中充斥着大量描述板级细节的代码,而这些板级细节对于内核来讲,就是垃圾,如板上的 platform 设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data。内核社区为了改变这个局面,引用了PowerPC等其他体系结构下已经使用的Flattened Device Tree(FDT)。采用Device Tree后,许多硬件的细节可以直接透过它传。原创 2023-02-23 10:56:38 · 1477 阅读 · 0 评论 -
Tina_Linux_系统软件 开发指南
Tina SDK发布的文档旨在帮助开发者快速上手开发及调试,文档中涉及的内容并不能涵盖所有的开发知识和问题。文档列表也正在不断更新。Tina SDK提供丰富的文档资料,包括硬件参考设计文档、Flash等基础器件支持列表、量产工具使用说明、软件开发与制定介绍文档、芯片研发手册等资料。Tina Linux系统是基于openwrt-14.07的版本的软件开发包,包含了Linux系统开发用到的内核源码、驱动、工具、系统中间件与应用程序包。原创 2023-02-23 10:56:42 · 2055 阅读 · 0 评论