欢迎来到朵拉利品网
知识中心
资讯
  • 资讯
  • 产品
  • 供应商
您的位置: 朵拉利品网 >  知识中心 > am335x linux内核移植 基于am335x的linux操作系统移植难不难
am335x linux内核移植 基于am335x的linux操作系统移植难不难
2020-05-30 20:41:57 来源:朵拉利品网

1, 基于am335x的linux操作系统移植难不难



一、硬件
对于许多TI的芯片来说,引脚复用的配置是在Control Module(配置模块)的寄存器里配置的,(这个和三星的CPU有点不同,三星的一般在GPIO的寄存器中配置)。所以当你需要配置这些寄存器的时候,请到数据手册的Control Module的Pad Control Registers查找。
TI的CPU芯片手册有两种:
一种是datasheet(DS:数据手册),较小,只是大概介绍下芯片的结构;
另一种是Technical Reference Manual(TRM:技术参考手册),较大,详细介绍芯片的各部分功能原理和寄存器定义。
在开发过程中,这两个手册都需要参考,是互补的。
对于AM335X,关于引脚复用的列表及模式号与功能的对应可以在数据手册中找到:
2 Terminal Description:
2.2 Ball Characteristics
关于引脚复用寄存器定义及各引脚相应寄存器的偏移可以在TRM中找到:
9 Control Module
9.1 Control Module
9.1.3 Functional Description
9.1.3.2 Pad Control Registers (包含引脚复用寄存器定义)
9.1.5 Registers
9.1.5.1 CONTROL_MODULE Registers (包含引脚相应寄存器的偏移)
二、软件
由于TI的芯片构架类似,对于Linux内核来说,早就已经为这个做好了一个软件上的框架,无论是在启动的初始化阶段还是在系统运行时,都可以通过这个框架提供的接口函数配置芯片的MUX。下面就来简要的分析一下。
以AM335X为例,相关代码位置:arch/arm/mach-omap2
mux.h
mux.c
mux33xx.h
mux33xx.c
board-am335xevm.c
(还有一些用到了:arch/arm/plat-omap/include/plat/omap_hwmod.h)

2, AM335X开发板上linux可以移植中文字库么



您好,希望以下回答能帮助您
将内核源文件夹根目录下 .config文件的几个标志位作如下设置:
CONFIG_HPET_TIMER=n
CONFIG_HPET_EMULATE_RTC=n
CONFIG_SPARSE_IRQ=n
当出现"per_cpu__irq_stack_union" undeclared error,将CONFIG_CC_STACKPROTECTOR设置为n
> I have a xenomai kernel running!
>
> I have tested using the testsuit latency ./run program. initially I
> got this message
>
> Xenomai: incompatible feature set.
> (required="sep tsc", present= "sep", missing="tsc")
方法1. To fix this, you need to select a x86 CPU supporting a timestamp counter
when configuring your kernel, since by default, the configure script
assumes --enable-x86-tsc.
方法2:The problem is that the TSC feature must be enabled in kernel-space if
you want to enable it in user-space. So, you have two choices:
- either you enable the TSC in kernel-space by selecting the processor
in kernel configuration which fits your processor (as suggested in
Xenomai FAQ);
- either you disable usage of TSC in user-space by passing --disable-tsc
to configure.
如您还有疑问可继续追问。

3, am335x的linux内核从哪个文件执行



TI 335X处理器的LCD控制器驱动是非常完善的,共通的地方已经由驱动封装好了,如果我们想进行LCD的配置,我应该通过DTS配置完成LCD的显示。下面,我们来讨论下使用DTS方式配置内核完成LCD驱动的思路。
(1)初步分析
由于TQ335x使用的芯片是AM335x,故仍然可以参考am335x-evm.dts。当然,am335x-evmsk.dts、am335x-beagbone.dts都可以。本文以am335x-evm.dts为例。大体上浏览下DTS文件,可以发现两个醒目的节点:一个是panel,一个是backlight。接下来我们逐个分析。
(2)panel节点信息分析及配置
从panel节点可以获得如下信息:
1. 匹配内核驱动的关键词是:"ti,tilcdc,panel",可以通过这个关键字找到相应的驱动。
2. 管脚配置在节点lcd_pins_s0内
3. panel-info中可以配置LCD的硬件信息,如LCD的分辨率等
4. display-times中记录了LCD刷屏的相关时序。
其中,panel-info和display-times需要去LCD手册中查找,管脚配置需要根据AM335x的芯片手册、数据手册及TQ335x的原理图确定,驱动则需要去内核的driver目录下查找。下面,我一一解决上述几个问题:
首先是设置panel-info和display-times。我的TQ335x是用的我调试TQ210时使用的触摸屏,型号是TN92,这个屏是800*480的分辨率,因此,panel-info与evm开发板的配置是相同的,可以不做任何修改。但是,不同屏幕的display-times一般是不相同的,因此,需要查阅触摸屏的手册来确认display-times。

名词解释


寄存器

寄存器(英语:Register)是中央处理器内的组成部分,是有限存贮容量的高速存贮部件,可用来暂存指令、数据和地址。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,寄存器有累加器(ACC)。

引脚

引脚,又叫管脚,英文叫Pin。就是从集成电路(芯片)内部电路引出与外围电路的接线,所有的引脚就构成了这块芯片的接口。引线末端的一段,通过软钎焊使这一段与印制板上的焊盘共同形成焊点。引脚可划分为脚跟(bottom)、脚趾(toe)、脚侧(side)等部分。