打印
[应用方案]

NUC970BSP Linux 3.10.x配置相关

[复制链接]
1740|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1 开发环境介绍

开发环境连线

开发板设置
NUC970系列芯片支持多种启动模式: SPI启动、Nand Flash启动、eMMC启动、USB ISP模式。启动模式可以通过PA[1:0]来设置。另外,管脚复用可通过跳线根据系统需求来设置,具体可以参考开发板使用文件来做相应的设置。

2 BSP安装2.1 系统需求

建立linux开发环境,需要有安装linux环境,可以安装在pc上或安装在虚拟机上。
具体请参考BSP使用手册。
2.2 BSP相关库

Patch 用来打补丁的工具
Libc6-dev 交叉编译所需的动态连接的32位函数库(i386版本)
Libncurses5-dev 设置内核接口所需使用的动态连接库
Minicom 或cutecom 串口工具用来显示以及控制uboot及内核
2.3 BSP安装步骤

Linux BSP包含了三个目录,各目录下的内容如下:
l /BSP:一个压缩包,包含了U-Boot,Linux内核、范例程序的源码、交叉编译工具、以及根文件系统。
l /Documents:BSP相关说明文件
l /Tools:Windows上的烧写工具及驱动程序
将BSP目录中的压缩包复制到Linux开发机器上,使用下面的命令解压缩:
#tar zxvf nuc970bsp.tar.gz
#cd nuc970bsp
在此目录中有安装脚本install.sh。此脚本需要管理者权限才可以执行,可以选择使用“su”命令切换到管理者来执行。
#su
#./install.sh
或是使用sudo来执行安装脚本(若是安装的Linux没有开放root权限,例如Ubuntu,则可以使用本方式来安装BSP)
# sudo ./install.sh
以下是整个安装过程:

若是使用的Linux开发环境之前已经安装过新唐提供的交叉编译工具,安装脚本会询问是否要重新安装交叉编译工具,否则脚本并不会询问使用者,而是直接在/usr/local/arm_linux_4.3目录安装编译工具。在第一种情况下,若要重新安装可输入Y(或者是yes、y、YES),然后按Enter键。
完成交叉编译工具后,安装脚本会询问安装Linux内核、U-Boot、以及范例程序的绝对路径。安装完成后的bsp目录内容如下:
l applications:范例程序及开源程序
l image/kernel:使用默认设置编译好的内核
l image/U-Boot:使用默认设置预先编好的支持NAND或SPI Flash的U-Boot执行文件及环境变量env.txt文件。其中U-Boot的默认执行地址均为0xE00000。
l linux-3.10.x:内核源代码
l rootfs:根文件系统
l uboot:U-Boot源码
安装脚本会尝试为安装的目录设置正确权限,并将交叉编译器的路径增加到系统搜索路径($PATH)中。但在有些Linux版本中,可能发生无**确设置的问题。此时需要麻烦用户手动设置正确的权限且将/usr/local/arm_linux_4.3/usr/bin加到$PATH中。
请注意,在安装完成后,用户需要先登出再登入,$PATH的设定才会生效。


使用特权

评论回复
沙发
八层楼|  楼主 | 2021-8-1 17:14 | 只看该作者
3 Linux内核配置3.1 内核设置界面

Linux内核支持各种不同设置,可将不需要的功能移除,只保留需要的功能,减少内核消耗的资源。
要进入内核设置界面,请在linux-3.10.x目录下输入“make menuconfig”的命令,即可进入内核设置界面。
内核设置菜单是多层次的。在当前页面内,可通过上、下、左、右四个方向键选择菜单的位置。上下键选择要控制的内核功能,左右键则是用来选择最下排的功能按钮。按“Enter”键进入下层菜单。最下排按钮共有5个,依次为Select、Exit、Help、Save、Load,具体功能如下:
l Select:当停留在该键时,用空格键选择内核功能。[ ]表示该功能禁止,不编进内核,该功能选中编进内核,[M]表示编译成模块,需手动加载。
l Exit:返回上一菜单,若为最上层菜单则提示是否要保存并退出。
l Help:选择显示帮助
l Save:保存当前设置
l Load:载入已保存设置
在设置完成后,内核设置会保存到linux-3.10.x目录下的.config文件中。
3.2 默认设置

新唐为NUC970系列芯片提供了默认设置,建议用户在更改内核设置前,先加载默认设置,再进行更改。加载默认设置的命令如下:
#make _defconfig
其中:可设为:nuc972,nuc973,nuc976,nuc977
例如:#make nuc972_defconfig //加载NUC972的默认设置。
有时因内核设置错误造成无法开机时,可通过默认设置来恢复到可开机状态。
3.3 LINUX内核设置

本节根据不同的驱动或功能,介绍所需要使能的内核设置。
3.3.1 基本系统设置

l 使能模块加载功能
有些驱动程序只支持动态加载,例如USB WiFi驱动程序、USB device的驱动等。使能模块加载功能支持,系统启动后可通过insmod命令来加载驱动模块。


l 模块卸载功能
使能模块加载功能支持后,若系统需要支持动态卸载功能,则需要按下图设置模块卸载功能支持。这样就可以使用rmmod来卸载模块了。

l 启动命令设置
用来设置系统启动参数,如根文件系统类型、内存大小、console波特率等。以下只是一个简单的设置,详细说明请参考Documentation/kernel-parameters.txt。



使用特权

评论回复
板凳
八层楼|  楼主 | 2021-8-1 17:17 | 只看该作者
3.3.2 网络功能设置

l TCP/IP设置
使能网络功能设置如下:

l WiFi无线网络设置
若要使用无线网络设备,除了要设置上面的TCP/IP外,还需要设置下面的选项。



3.3.3 驱动配置
l Audio音频接口配置
I2S接口的配置如下:

I2S支持主模式或从模式,用户可根据需要选择两者之一。
选定I2S后,将同时选中NAU8822 codec驱动。另外,配置codec驱动时必须配置I2C接口驱动,系统才能正确加载NAU8822设备。
如果audio应用程序是使用旧的OSS架构编写的,需要配置下面两项,使ALSA兼容OSS架构。可参口音频演示程序alsa_audio。(源代码位于BSP/applications/demos/alsa_audio目录下)

l Cryptographic Accelerator配置
要支持Cryptographic Accelerator,前先配置Networking support里的PF_KEY socket。

然后再打开Cryptographic API里面的相关设定

NUC970 Cryptographic Accelerator硬件支持AES、DES及3-DES crypto加密算法,以及支持SHA及HMAC hash算法,可参考Demo程序crypto。(代码位于BSP/applications/demos/crypto目录下)
l DMA配置
NUC970系列芯片支持DMA功能。要在内核中使能DMA,需进入“DMA Engine support”菜单,配置“NUC970 DMA support”。
如果需要在内核中使用DMA,请参照linux-3.10.x/drivers/dma/dmatest.c中的使用方法,如果需要实际了解dmatest.c的运作流程,可开启“DMA Test Client”。DMA test client将会被自行带起来。


使用特权

评论回复
地板
八层楼|  楼主 | 2021-8-1 17:19 | 只看该作者
l Ethernet网口配置
NUC970系列支持两个网口,可分别开启或同时开启。要支持网口除了网口驱动外,PHY驱动也需要配置。NUC970开发板上使用的是ICPlus的PHY,若是使用其它的PHY,请配置相应的PHY驱动。

l Etimer配置
NUC970内核执行时,使用基本时钟来计时。另外还提供了四通道的加强型时钟,可输入50%占空比的输出或是支持捕获功能。四个通道可独立控制,以下是相关的配置界面,不使用的可配置成“No output”或“No input”。下图是把通道0和1配置成分别使用PC.6、PC.8输出,通道2和通道3配置成使用PC.11和PC.13作为捕获管脚的例子。

应用程序可使用ioctrl()来控制Etimer的功能,目前支持了toggle out、trigger counting mode及free counting mode等三个功能。在捕获模式下(trigger counting mode及free counting mode),所捕获到的值可由read()读回(单位是us),代表了两次触发条件的间隔。不论是toggle out或是捕获模式单位均为us。可参考BSP中的demo程序(源码位于BSP/applications/demos/etimer)来开发所需要的功能。


使用特权

评论回复
5
八层楼|  楼主 | 2021-8-1 17:20 | 只看该作者
l GPIO配置
NUC970系列芯片支持GPIO控制接口,要让内核支持GPIO控制,需配置“NUC970 GPIO support”及“/sys/class/gpio/…”。

GPIO驱动程序将NUC970系列芯片的GPIO口从GPIOA~GPIOJ每组都保留32个号码,所以GPIOA编号0x000~0x01F,GPIOB编号0x020~0x03F,GPIOC编号0x040~0x05F,GPIOD编号0x060~0x07F,GPIOE编号0x080~0x09F,GPIOF编号0x0A0~0x0BF,GPIOG编号0x0C0~0x0DF,GPIOH编号0x0E0~0x0FF,GPIOI编号0x100~0x11F,GPIOJ编号0x120~0x13F。
用户可通过sysfs接口来控制各GPIO。“/sys/class/gpio/…”是通用的GPIO控制接口,可以通过下面的方法来控制GPIO:
l /sys/class/gpio/export:打开某个GPIO
l /sys/class/gpio/unexport:关闭某个GPIO
l /sys/class/gpio/gpio0/direction:控制GPIOA00的方向in或out
l /sys/class/gpio/gpio0/value:控制GPIOA00的输出值1或0
下面是设定GPIOA0输出High的例子:

也可以参考demo程序gpio_demo(源码位于BSP/applications/demos/gpio目录)
在其他的驱动程序中可以通过下列步骤来控制GPIO:
l 在驱动程序中加入#include
l 依据archarmmach-nuc970includemachgpio.h决定使用哪个GPIO
l 以NUC970_PC7为例,具体控制如下:
设定输入模式:gpio_direction_input(NUC970_PC7)
设定输出模式和输出值:gpio_direction_output(NUC970_PC7,1)
设定输出high:gpio_set_value(NUC970_PC7,1)
设定输出low:gpio_set_value(NUC970_PC7,0)
取值:gpio_get_value(NUC970_PC7)
确认GPIO是否正在使用:gpio_request(NUC970_PC7,”NUC970_PC7”)
获取GPIO中断号码:gpio_to_irq(NUC970_PC7)
使用GPIO中断的例子:



使用特权

评论回复
6
八层楼|  楼主 | 2021-8-1 17:22 | 只看该作者
l 配置GPIO模拟I2C接口
除了使用硬件I2C,还可使用GPIO来模拟实现I2C,通过修改arch/arm/mach-nuc970/dev.c中i2c_gpio_adpater_data结构来选择使用的管脚。如设定
.sda_pin=NUC970_PG1,
.scl_pin = NUC970_PG0
即时是使用PG0为SCL,使用PG1为SDA。



l I2C接口配置
I2C接口配置如下:

I2C Port 1有多组管脚供选择,如Port-B、Port-G、Port-H或者Port-I
选择硬件I2C,系统将使用NUC970内建的I2C控制器进行I2C的控制
I2C port0 上挂载了5个设备,分别是OV7725、OV5640、NT99050、NT99141及NAU8822,用户可自行修改、新增设备或将设备修改至port1上,只要修改文件arch/arm/mach-nuc970/dev.c中的nuc970_i2c_clients0结构。















使用特权

评论回复
7
八层楼|  楼主 | 2021-8-1 17:25 | 只看该作者
l LCD接口配置
要支持LCD屏,需配置内核下列选项:

在开发板上已接有800×480 的5寸LCD屏,使用18bit的数据线与屏连接,颜色数为RGB888(24-bit)
如果要将Linux的企鹅**在屏上显示出来,则需配置下列选项:

这样开机时,就可在屏上看到Linux的企鹅**。
可参考demo程序lcm,了解如可操作frame buffer。(源码位于BSP/applications/demos/lcm目录)
l MTD NAND flash配置
NAND flash的驱动是挂载在MTD子系统之下的,配置如下。NAND flash接口有两组管脚可选:Port C、Port I,需根据硬件连接情况来选择。

驱动中的基本设置如果需要由U-boot环境参数传入就必须将“Command line partition table parsing”选上,否则就使用驱动程序里的默认配置,将MTD分为三个分区。上电进入shell后,分别是/dev/mtdblock0、/dev/mtdblock1及/dev/mtdblock2。第一块是放置U-Boot的空间,第二块放置内核文件,第三块是用来挂载YAFFS2或UBIFS文件系统的空间。若是配置有需要更改,例如增加或减少分区、修改分区大小,请直接编辑uboot/include/nuc970_evb.h或drivers/mtd/nand/nuc970_nand.c
l PWM配置
NUC970 BSP中的内核版本为3.10,但3.10的PWM驱动程序不支持用户程序通过sysfs接口控制PWM,所以目前的PWM子系统是另外由3.11移植回3.10的,方便用户程序控制PWM。
要支持PWM,请配置下面的选项,使用的管脚可根据硬件修改,不使用的通道配置成“No output”即可。

要通过sysfs控制PWM,首先在系统开机后,进入/sys/class/pwm/,可看到四个PWM(pwmchip0~3),每组代表着一个PWM通道。要使用前,需要进入要控制的通道目录执行echo 0 >export,此时会生成一个pwm0目录,这样就可以开始控制这个通道了。在新生成的目录中有几个文件可用来控制PWM,下面列出来这些文件:
l period:控制周期,单位ns。目前驱动支持最小单位是us,以打出20us周期波为例:echo 20000>period
l duty_cycle:设置占空比。单位ns。打出15us
l polarity:设置输出相位。Set Active high:echo 1 > polarity或Set Active low:echo 0 > polarity
l enable:使能禁止控制。使能:echo 1 > enable;禁止:echo 0 > enable。
下面就是一个开启PWM0,并输出周期为30us,占空比为33%的例子:



l Ralink RT3070 802.11 WiFi支持
要支持RT3070 USB WiFi功能的话,除了使能无线网络功能、USB host驱动、模块加载支持外,还要开启下面的设置:

并且在boot command加上以下命令:

RT3070的驱动并没有放在内核源码之中,而是单独放在
BSP/applications/DPO_RT3070_LinuxSTA_V2.3.0.2_20100412/ 目录下。所以编译产生的是内核模块,需要动态加载。
编译时先修改目录下的Makefile,设定正确的内核源码路径,而后输入make命令进行编译。



编译完成后,产生驱动模块rt3070sta.ko。本驱动使用时,除了将本驱动模块放到文件系统中外,还要将RT2870STA.dat复制到根文件系统的etc/Wireless/RT2870STA/ 目录下。



使用特权

评论回复
8
八层楼|  楼主 | 2021-8-1 17:27 | 只看该作者
该驱动的使用说明:
1) 加载驱动模块:insmod rt3070sta.ko
2) 启动无线网口:ifconfig ra0 up
3) 使用BSP中的wireless_tool.29版本连接到无线网
使用WEP方式连接的命令:


使用WPAPSK方式连接的命令:



使用WPA2PSK方式连接的命令:

————————————————
版权声明:本文为CSDN博主「DIANZI520SUA」的原创**,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/DIANZI520SUA/article/details/106681185
4) 连线成功后,设置固定IP或使用DHCP获取动态IP。DHCP的命令如下:


使用特权

评论回复
9
八层楼|  楼主 | 2021-8-1 17:28 | 只看该作者
l RS232、RS485、IrDA串口配置
NUC970系列带有11个串口,可以分别独立配置,请按下面的说明来使能串口功能。每个串口可以单独的开关。除UART0、UART3、UART5外,其他串口都有多组管脚可选择,需要一起设置。其中,UART0这组串口是保留给console使用的,不需要在这里配置。



若是把串口作为红外控制使用,除了需要使能串口功能外,还需要按照下面配置红外模块的驱动选项:





使用特权

评论回复
10
八层楼|  楼主 | 2021-8-1 17:30 | 只看该作者
l SD卡配置
NUC970支持两个SD卡接口,目前的驱动只能选择使用其中之一,不能同时使用两个SD。若选择使用SD1,需要配置使用的管脚,可选择Port E、Port H或Port I。


系统启动后,若是检测到有卡插入,会在/dev下出现一个mmcblk0的设备。若卡上有分区,会依分区方式另外出现mmcblk0、mmcblk1等设备。
l SPI接口配置
NUC970系列芯片支持两个SPI接口,可以单独使能或同时使能,下面是同时使能两个SPI接口的配置:

SPI port 0 管脚可选择Normal(4PIN)或Quad(6PIN)模式。
SPI port 1则可选择Port B/Port I(Normal mode)或者Port B/Port I(Quad mode)。
如要使用SPI flash,需要开启MTD功能,配置如下选项:

另外,还要配置JFFS2文件系统后,才能正确使用SPI Flash设备。
JFFS2文件系统的设置方式请参考文件系统配置的章节。
Linux内核需正确识别SPI flash后,才能对其读写。要让内核识别新的SPI flash,请
修改/新增driver/mtd/devices/m25p80.c中的m25p_ids结构。




以及 arch/arm/mach-nuc970/dev.c中的nuc970_spi_flash_data结构。
其中 .type字段需与m25p_ids结构中的其中一个字段相同,否则无法匹配到正确的设备。

如想修改SPI Flash partition数,则可修改 arch/arm/mach-nuc970/dev.c中的nuc970_spi_flash_partitions结构。





使用特权

评论回复
11
八层楼|  楼主 | 2021-8-1 17:31 | 只看该作者
l USB Host配置

要支持USB Host,请先勾选打开USB Host支持,NUC970 USB Host包含EHCI(USB 2.0)及OHCI(USB 1.1)两个USB Host控制器,必须同时打开,具体如下面所示:


其中在“NUC970 EHCI(USB 2.0)support”下,根据所使用的芯片型号,选择USB Host port power pin。可选择USB Host port0及port1 分别由PE.14及PE.15控制,或是选择统一由PF.10控制。除了NUC970的USB host驱动需要设置,另外还需要选择所要支持的设备类别,例如Mass Storage,若是要选择Mass Storage,则需先开启SCSI设备支持,才会出现Mass Storage的选项。


l USB Host与HID设备

如想使用USB HID(如USB mouse、keyboard)等设备,除了需要使能USB host外,还需要开启HID及input功能,请参考如下配置:


使用特权

评论回复
12
八层楼|  楼主 | 2021-8-1 17:32 | 只看该作者
l 配置USB Device



编译完内核后,会产生三个module文件 fs/configfs/configfs.ko、drivers/usb/gadget/libcomposite.ko、driver/usb/gadget/g_mass_storage.ko,需要将这三个文件复制到rootfs或使系统可以存取到的地方。

USB Mass Storage Gaget的使用方法如下(以mmcblk0p1设备为例):



l VCAP图片获取接口配置

NUC970系列芯片支持Video捕获接口,要在内核中使能此功能,首先必须开启“cameras/video grabbers support”,然后进入“Encoders,decoders, sensors and other helper chips”选项中,开启“NUC970 Video-in support”并且选择摄影机的型号,目前支持OV7725、OV5640、NT99050及NT99141。



Video-Capture接口需要使用I2C接口来控制摄像头,所以在开启Video-Capture接口之前必须设定先开启I2C接口。

使用特权

评论回复
13
八层楼|  楼主 | 2021-8-1 17:33 | 只看该作者
l Watchdog Timer看门狗设置

要支持看门狗,请参考下面的设置。目前缺省的超时为2.03秒。用户程序可通过ioctl()下的WDIOC_SETTIMEOUT命令更改超时时间。驱动中支持三个不同周期,输入小于2的话,是0.53秒。介于2~8之间的话是2.03秒,而超过8的话是设置成8秒。可参考wdt的演示程序。(BSP/applications/demos/wdt目录)



l Window Watchdog Timer 窗口看门狗配置

要支持窗口看门狗,请参考以下设置。



NUC970窗口看门狗与看门狗主要有两个差异:第一,设置使能之后,无法更改设置,无法停止;第二,只能在特定的时间内让窗口看门狗复位,而不是如同看门狗只要还没有超时,随时可复位。所以应用程序在使用时,一定要先使用ioctl()的WDIOC_GETTIMELEFT命令获取可复位的时间,只有等返回时间为0时才可使用WDIOC_KEEPALIVE命令窗口看门狗复位,否则在不正确的时间下达WDIOC_KEEPALIVE命令,会马上造成系统复位。可参考wwdt演示程序。(BSP/applications/demos/wwdt目录)

l Keypad配置



如果要使用开发板上的keypad,则需选择“Keypad pins are 4×2 matrix PH pin”,可搭配keypad范例程序(BSP/applications/demos/keypad)来使用。


使用特权

评论回复
14
八层楼|  楼主 | 2021-8-1 17:34 | 只看该作者
l RTC配置



l ADC电池配置

NUC970系列芯片支持ADC Battery接口,需开启Power supply class support中的“NUC970 ADC battery driver”。如下图:



在shell模式下可以进入“sys/class/power_supply”中找到NUC970 Bettery(ADC)进入后即可查看目前的状态,如下所示:

电池电压:cat voltage_now

电池百分比:cat present



l ADC keypad/touch screen配置

NUC970系列芯片支持ADC keypad/touchscreen接口,必须进入“Input device support”中,然后开启进入“Input NUC970 ADC”,即可看见“Keypad support”和“Touchscreen support”,选择需要的功能开启即可。



当使用keypad时,可以通过修改drivers/input/nuvoton/nuc970adc.c中的nuc970_keycode来修改按键上报值及nuc970_key_th来设定ADC的门限值,假设把ADC得到的电压需要分成八个key则nuc970_keycode[0]设定第一个key上报的key值和nuc970_key_th[0]设定第一个key相对应ADC的电压范围;nuc970_keycode[1]设定第二个key上报的key值和nuc970_key_th[1]设定第二个key相对应ADC的电压范围,依次类推如下:



使用特权

评论回复
15
八层楼|  楼主 | 2021-8-1 17:35 | 只看该作者
l SCUART智能卡串口模式配置

NUC970系列带有2个智能卡接口,这两个接口除了智能卡功能外,也可当成基本串口来使用。当系统自带的串口不够用时,可以用来扩充出两个串口。在智能卡串口模式下,SC_CLK作发送,而SC_DAT作接收。这两个接口可以分别使能,请根据下面的说明来使能串口功能,每个串口可以单独的开关,其中SCUART0有两组管脚供选择,使能时需要同时选择管脚。



在智能卡串口模式下,设备文件是 /dev/ttySCU0或/dev/ttySCU1。基本操作与普通串口相同,但限制比普通串口多,如发送及接收各只有四级FIFO,不支持流量控制,也不支持RS485、IrDA等传输模式。当系统串口足够用时,请优先考虑使用普通串口。

l Loop back设备设置

Loop back设备可让系统读写一个文件就像读写block设备一样,这个文件可以是任何系统可以读写的文件系统,然后加载到指定的loop back设备上即可使用。使能设置方式如下:



使用方法如下:

1、生成文件



2、格式化文件(以FAT文件系统为例)



3、加载文件



使用特权

评论回复
16
八层楼|  楼主 | 2021-8-1 17:36 | 只看该作者
3.3.4 文件系统配置

l FAT文件系统配置

FAT是SD卡以及U盘上常见的文件格式。FAT文件系统需配置下面选项

以SD卡的第一分区为例,加载文件系统的命令是:

l JFFS2文件系统配置

JFFS2是NAND flash上使用的文件系统之一,要支持jffs2文件系统请配置下面的选项。


使用特权

评论回复
17
八层楼|  楼主 | 2021-8-1 17:37 | 只看该作者

l ROMFS文件系统配置

ROMFS文件系统是根文件系统使用的格式之一,请配置下面的选项来支持ROMFS文件系统:


l YAFFS2文件系统配置

YAFFS2是NAND flash上使用的文件系统之一,使用YAFFS2需要先使能MTD的“Caching block device access to MTD devices Device drivers”。YAFFS2的配置如下:


加载YAFFS2文件系统的命令如下:


使用特权

评论回复
18
八层楼|  楼主 | 2021-8-1 17:38 | 只看该作者

l exFAT文件系统配置

exFat是微软开发出来的新一代文件系统,exFAT修改了FAT在单个文件大小及设备容量上的限制问题。exFAT的配置如下:

以SD卡的第一分区为例,加载exFAT文件系统的命令如下:

l FUSE文件系统配置及NTFS文件系统支持


FUSE(Filesystem in Userspace), 是指完全在用户层实现的文件系统。用户可以通过FUSE系统实现各种自定的文件系统,较常见的使用FUSE来实现的用户文件系统有NTFS-3G、SSHFS等。下面介绍如何通过FUSE来实现微软的NTFS系统(NTFS-3G)。


可以按照下面的配置来使能FUSE文件系统:


NTFS-3G是一个由Tuxera公司开发并维护的开源项目,目的是为Linux提供NTFS分区的驱动程序,能够安全快速的对Windows NT(包括Windows 2000、Windows XP、Windows Server 2003和Windows Vista)的文件系统进行读写。目前NTFS-3G最新版本是Tuxera公司于2014年2月23日发布的ntfs-3g_ntfsprogs-2014.2.15。


下载地址:http://www.tuxera.com/community/ntfs-3g-download/。


下载完后,根据ntfs-3g上的使用手册进行编译,完成后使用下面的命令即可使用。



使用特权

评论回复
19
八层楼|  楼主 | 2021-8-1 17:39 | 只看该作者
l UBIFS文件系统配置

UBIFS是用于固态硬盘设备上的文件系统,与LogFS相互竞争,作为JFFS2的后续文件系统之一,UBIFS在设计效率上比YAFFS2、JFFS2更适合MLC NAND Flash。如:UBIFS支持write-back,它写入的资料会被cache,直到有必要写入时才写到flash,大大地降低分散小区块数量并提高I/O效率。



使用特权

评论回复
20
八层楼|  楼主 | 2021-8-1 17:40 | 只看该作者
3.3.5 使用FIQ

一般的中断在某些时候可能会被系统锁住,进而影响此中断的实时性。这是,就可以使用本章节内所提的FIQ,来确保中断的实时性。

l 内核配置


l 使用方法举例

初始化流程如下(以timer2为例):


其中,regs.ARM_r8必须为fiq handler的地址及regs.ARM_r10必须为REG_AIC_IPER的位置。另外需要再对timer2进行必要配置即可使用FIQ。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

3887

帖子

2

粉丝