在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Tina_Linux系統裁剪開發指南

嵌入式Linux那些事 ? 來源: 嵌入式Linux那些事 ? 作者: 嵌入式Linux那些事 ? 2023-03-06 09:52 ? 次閱讀

Tina_Linux系統裁剪開發指南1 概述2 Tina系統裁剪簡介2.1 boot0裁剪2.2 uboot裁剪2.3 內核裁剪2.3.1 刪除不使用的功能2.3.2 刪除不使用的驅動2.3.3 修改內核源代碼2.3.3.1 size工具.2.3.3.2 ksize.py腳本2.3.3.3 nm命令2.3.3.4 kernel壓縮方式.2.4 文件系統裁剪.2.4.1 應用程序及冗余文件裁剪2.4.2 庫的裁剪2.4.2.1 C庫的選擇.2.4.2.2 刪除沒用到的庫2.4.3 應用程序與庫strip2.4.4 文件系統壓縮.3 參考資料

Tina_Linux系統裁剪開發指南

1 概述

編寫目的:

嵌入式產品往往為了壓縮成本而使用較小的flash存儲器,因此可能需要對系統進行裁剪來減少對flash的占用。系統經過裁剪過后,通常也會提升啟動速度以及減少內存占用。 本文介紹TinaLinux中系統裁剪的方法,為有裁剪需求的使用者提供參考。

2 Tina系統裁剪簡介

Tina固件中通常包含boot0、uboot、kernel、rootfs等鏡像。基于經驗,各個鏡像尺寸的量級如下表所示:

表2-1:各鏡像尺寸的量級

鏡像 大小
boot0 < 100K
uboot < 1M
kernel >= 3M,< 15M
rootfs >= 4M

可以看到boot0、uboot、kernel、rootfs的尺寸是依次增大的。對于大尺寸的裁剪效果往往比小尺寸的裁剪效果明顯,比如rootfs裁剪1M可能很容易,對于uboot來說,則非常困難。

因此,后續主要介紹kernel以及rootfs的裁剪。

2.1 boot0裁剪

由于boot0很小,通常來說boot0代碼也不開源,因此略過。

2.2 uboot裁剪

目前tina環境中有不同版本的uboot,分別存在兩個不同的文件路徑中,以實際sdk的目錄為準,cboot可以進入到相應的uoot目錄,這兩個路徑分別為lichee/brandy/u-boot或者lichee/brandy-2.0/u-boot

主要有下面兩種裁剪思路:

修改uboot配置文件,刪減不需要的配置。uboot配置文件通常位于源碼下include/configs/${CHIP}.h或者configs/${CHIP}*defconfig。

刪除不需要的uboot命令。

2.3 內核裁剪

通常關于Linux內核裁剪主要有如下方法:

刪除不使用的功能。如符號表、打印、調試等功能。

刪除不使用的驅動。

修改內核源代碼。

內核壓縮。

2.3.1 刪除不使用的功能

下表中列出了一些內核選項,包含選項的描述,默認值以及推薦值(減小內核鏡像尺寸)。

表2-2:內核選項及描述

CONFIG option Description Def Small
CORE_SMALL tune some kernel data sizes N Y
NET_SMALL tune some net-related data sizes N Y
KMALLOC_ACCOUNTING turn on kmalloc accounting N Y *
AUDIT_BOOTMEM print out all bootmem allocations N Y *
DEPRECATE_INLINES cause compiler to emit info about inlines N Y *
PRINTK printk code and message data Y N
BUG allow elimination of BUG code Y N
ELF_CORE allow disabling of ELF core dumps Y N
PROC_KCORE allow disabling of /proc/kcore Y N
AIO allow disabling of async IO syscalls Y N
XATTR allow disabling of xattr syscalls Y N
FILE_LOCKING allow disabling of file locking syscalls Y N
DIRECTIO allow disabling of direct IO support Y N
MAX_SWAPFILES_SHIFT number of swapfiles 5 0
NR_LDISCS number of tty line disciplines 16 2
MAX_USER_RT_PRIO number of RT priority levels 100 5
KALLSYMS load all symbols for debugging/kksymoops Y N
SHMEM allow disabling of shmem filesystem Y N +
SWAP support for a swap segment Y N
SYSV_IPC support for System V IPC Y N +
POSIX_MQUEUE POSIX message queue support Y N +
SYSCTL allow disabling of sysctl support Y N +
LOG_BUF_SHIFT control size of kernel printk buffer 14 11
CC_OPTIMIZE_FOR_SIZE Use gcc -os to optimize for size Y Y
MODULES allow support for kernel loadable modules Y N +
KMOD automatic kernel module loading Y N
PCI allow support for PCI bus and devices Y Y -
XIP_KERNEL allow support for kernel Execute-in-Place N N
BLK_DEV_LOOP support for loopback block device Y Y -
BLK_DEV_RAM block devices for RAM filesystems Y Y -
IOSCHED_AS Include Anticipatory IO scheduler Y Y
IOSCHED_DEADLINE Include Deadline IO scheduler Y N +
IOSCHED_CFQ Include CFQ IO scheduler Y N +
IP_PNP support for IP autoconfiguration Y N +
IP_PNP_DHCP support for IP autoconfiguration via DHCP Y N +
IDE support for IDE devices Y N +
SCSI support for SCSI devices Y N +

其中:

"Y *"-表示開發的時候設置成Y,發布的時候可以設置成N。

"N +"-表示基于應用需要來判斷是否設置成N。

"Y -"-表示可能需要,可以設置N嘗試一下。

在Tina中,集成了CONFIG_REDUCE_KERNEL_SIZE宏。一旦使能該宏后,將會采用部分上面的裁剪措施來減小kernel鏡像尺寸,主要思路是關閉與log/debug等相關的配置,然后對kernel進行xz壓縮,可參考tina/scripts/reduce-kernel-size.sh。

執行make menuconfig,開啟如下選項:

Tina Configuration Target Images ---> [*] downsize the kernel size (EXPERIMENTAL)

說明:此功能當前是 EXPERIMENTAL 的。建議直接執行 make kernel_menuconfig ,然后按照上述表格來配置。

2.3.2 刪除不使用的驅動

方案明確之后,所需的內核驅動也明確了。可以執行make kernel_menuconfig,將沒有用到的驅動關閉。

2.3.3 修改內核源代碼

內核源碼龐大,直接修改往往難度很大,可借助相關工具來評估模塊以及符號的大小,然后進行針對性的裁剪。

2.3.3.1 size工具.

size命令可查看內核鏡像的text、data、bss等段的大小。如執行"size vmlinux",將會得到:

text data bss dec hex filename

5818117 1378944 168972 7366033 706591 vmlinux

2.3.3.2 ksize.py腳本

在tina/lichee/linux-4.9/scripts目錄下有一個ksize腳本,可以對內核目錄下的built-in.o進行解析,并將解析的內容按照尺寸進行排序,顯示出來。執行結果如下所示:

Linux Kernel total | text data bss

--------------------------------------------------------------------------------

vmlinux

7366033

|

5818117

1378944

168972

--------------------------------------------------------------------------------

drivers/built-in.o

2244823

|

2080782

123885

40156

net/built-in.o

1682005

|

1630911

32590

18504

fs/built-in.o

975830

|

950780

5442

19608

kernel/built-in.o

678363

|

593347

41064

43952

mm/built-in.o

302442

|

272965

7309

22168

sound/built-in.o

237890

|

227338

6836

3716

security/built-in.o

170272

|

145055

13989

11228

block/built-in.o

149110

|

145408

2458

1244

crypto/built-in.o

145972

|

131610

7258

7104

lib/built-in.o

141721

|

141093

559

69

init/built-in.o

33551

|

18558

14909

84

ipc/built-in.o

29998

|

29218

772

8

usr/built-in.o

138

|

138

0

0

--------------------------------------------------------------------------------

sum

6792115

|

6367203

257071

167841

delta

573918

|

-549086

1121873

1131

drivers total | text data bss

--------------------------------------------------------------------------------

drivers/built-in.o

2244823

|

2080782

123885

40156

--------------------------------------------------------------------------------

drivers/usb/built-in.o

448756

|

409279

27813

11664

drivers/block/built-in.o

357202

|

324752

21582

10868

drivers/tty/built-in.o

174213

|

155371

13938

4904

drivers/base/built-in.o

157961

|

153861

3460

640

drivers/mmc/built-in.o

133678

|

131782

1756

140

drivers/scsi/built-in.o

105021

|

95105

9348

568

drivers/md/built-in.o

100909

|

98382

1291

1236

drivers/mtd/built-in.o

96023

|

92244

1467

2312

drivers/hid/built-in.o

86072

|

81552

4160

360

drivers/clk/built-in.o

69737

|

58289

10856

592

drivers/cpufreq/built-in.o

51525

|

44400

1793

5332

drivers/pinctrl/built-in.o

50463

|

46458

3921

84

drivers/input/built-in.o

45250

|

44046

1156

48

drivers/i2c/built-in.o

43511

|

42791

656

64

drivers/spi/built-in.o

39888

|

38323

1557

8

drivers/thermal/built-in.o

38654

|

36673

1893

88

drivers/regulator/built-in.o

36217

|

35257

820

140

drivers/of/built-in.o

35994

|

35095

407

492

drivers/gpio/built-in.o

29432

|

29167

224

41

drivers/leds/built-in.o

25548

|

25076

464

8

drivers/rtc/built-in.o

25072

|

24428

460

184

drivers/tee/built-in.o

24823

|

24662

113

48

drivers/char/built-in.o

23718

|

21642

1224

852

drivers/soc/built-in.o

20916

|

13980

6804

132

drivers/bluetooth/built-in.o

20223

|

19319

100

804

drivers/dma/built-in.o

17892

|

17458

334

100

drivers/irqchip/built-in.o

14767

|

12371

2308

88

drivers/pwm/built-in.o

14636

|

14036

472

128

drivers/dma-buf/built-in.o

13975

|

13904

23

48

drivers/cpuidle/built-in.o

12613

|

10848

1749

16

drivers/watchdog/built-in.o

9986

|

9660

281

45

drivers/power/built-in.o

9836

|

8296

1224

316

drivers/clocksource/built-in.o

9608

|

8708

796

104

drivers/misc/built-in.o

8471

|

8105

340

26

drivers/bus/built-in.o

6357

|

5691

618

48

drivers/hwmon/built-in.o

5230

|

5054

144

32

drivers/hwspinlock/built-in.o

4792

|

4664

128

0

drivers/firmware/built-in.o

4453

|

4384

9

60

drivers/reset/built-in.o

3818

|

3686

132

0

drivers/net/built-in.o

1803

|

1755

48

0

drivers/mfd/built-in.o

1623

|

1511

108

4

drivers/video/built-in.o

379

|

379

0

0

--------------------------------------------------------------------------------

sum

2381045

|

2212444

125977

42624

delta

-136222

|

-131662

-2092

-2468

net total | text data bss

--------------------------------------------------------------------------------

net/built-in.o

1682005

|

1630911

32590

18504

--------------------------------------------------------------------------------

net/ipv4/built-in.o

428233

|

401161

14719

12353

net/mac80211/built-in.o

302085

|

301822

259

4

net/core/built-in.o

267334

|

256693

8573

2068

net/bluetooth/built-in.o

227913

|

226708

1033

172

net/wireless/built-in.o

160236

|

158651

557

1028

net/xfrm/built-in.o

74537

|

72737

1384

416

net/bridge/built-in.o

59936

|

58812

1112

12

net/sched/built-in.o

29706

|

28344

1346

16

net/packet/built-in.o

26453

|

26172

281

0

net/netlink/built-in.o

26105

|

25498

455

152

net/unix/built-in.o

24671

|

22266

340

2065

net/key/built-in.o

21095

|

20783

308

4

net/*.o

16279

|

15811

412

56

net/8021q/built-in.o

15245

|

14981

264

0

net/ipv6/built-in.o

9445

|

8295

1136

14

net/rfkill/built-in.o

7142

|

6710

408

24

net/ethernet/built-in.o

2431

|

2391

40

0

net/llc/built-in.o

2068

|

1980

72

16

net/802/built-in.o

1944

|

1792

140

12

--------------------------------------------------------------------------------

sum

1702858

|

1651607

32839

18412

delta

-20853

|

-20696

-249

92

fs total | text data bss

--------------------------------------------------------------------------------

fs/built-in.o

975830

|

950780

5442

19608

--------------------------------------------------------------------------------

fs/*.o

351665

|

339511

1774

10380

fs/ext4/built-in.o

295807

|

294110

1125

572

fs/jffs2/built-in.o

99642

|

99446

124

72

fs/proc/built-in.o

77696

|

73111

377

4208

fs/fat/built-in.o

49264

|

49088

144

32

fs/jbd2/built-in.o

47379

|

47254

65

60

fs/overlayfs/built-in.o

24939

|

24842

93

4

fs/squashfs/built-in.o

23156

|

23092

60

4

fs/kernfs/built-in.o

21086

|

16863

111

4112

fs/configfs/built-in.o

18193

|

17916

261

16

fs/debugfs/built-in.o

16120

|

16056

52

12

fs/pstore/built-in.o

13904

|

13531

325

48

fs/crypto/built-in.o

13083

|

12799

264

20

fs/notify/built-in.o

12525

|

12186

227

112

fs/nls/built-in.o

11024

|

10904

116

4

fs/sysfs/built-in.o

7041

|

6990

39

12

fs/devpts/built-in.o

3359

|

2986

365

8

fs/ramfs/built-in.o

1820

|

1776

40

4

--------------------------------------------------------------------------------

sum

1087703

|

1062461

5562

19680

delta

-111873

|

-111681

-120

-72

kernel total | text data bss

--------------------------------------------------------------------------------

kernel/built-in.o

678363

|

593347

41064

43952

--------------------------------------------------------------------------------

kernel/*.o

376931

|

346029

17531

13371

kernel/sched/built-in.o

127386

|

119841

6265

1280

kernel/time/built-in.o

101386

|

89633

7465

4288

kernel/printk/built-in.o

55033

|

18477

8444

28112

kernel/irq/built-in.o

47323

|

44325

906

2092

kernel/rcu/built-in.o

29815

|

27655

2131

29

kernel/locking/built-in.o

25617

|

25592

21

4

kernel/power/built-in.o

16652

|

15256

848

548

kernel/bpf/built-in.o

8348

|

7988

68

292

--------------------------------------------------------------------------------

sum

788491

|

694796

43679

50016

delta

-110128

|

-101449

-2615

-6064

sound total | text data bss

--------------------------------------------------------------------------------

sound/built-in.o

237890

|

227338

6836

3716

--------------------------------------------------------------------------------

sound/soc/built-in.o

125556

|

119220

5416

920

sound/core/built-in.o

108923

|

104799

1400

2724

sound/*.o

6612

|

6440

28

144

--------------------------------------------------------------------------------

sum

241091

|

230459

6844

3788

delta

-3201

|

-3121

-8

-72

security total | text data bss

--------------------------------------------------------------------------------

security/built-in.o

170272

|

145055

13989

11228

--------------------------------------------------------------------------------

security/selinux/built-in.o

142606

|

119156

12250

11200

security/keys/built-in.o

31690

|

30618

788

284

security/*.o

25826

|

24091

1719

16

security/integrity/built-in.o

1838

|

1806

20

12

--------------------------------------------------------------------------------

sum

201960

|

175671

14777

11512

delta

-31688

|

-30616

-788

-284

block total | text data bss

--------------------------------------------------------------------------------

block/built-in.o

149110

|

145408

2458

1244

--------------------------------------------------------------------------------

block/*.o

145968

|

142021

2699

1248

block/partitions/built-in.o

7563

|

7543

16

4

--------------------------------------------------------------------------------

sum

153531

|

149564

2715

1252

delta

-4421

|

-4156

-257

-8

lib total | text data bss

--------------------------------------------------------------------------------

lib/built-in.o

141721

|

141093

559

69

--------------------------------------------------------------------------------

lib/*.o

216133

|

214935

1092

106

lib/zlib_inflate/built-in.o

11187

|

11187

0

0

lib/xz/built-in.o

8215

|

8179

36

0

lib/lzo/built-in.o

2551

|

2551

0

0

lib/lz4/built-in.o

1188

|

1188

0

0

--------------------------------------------------------------------------------

sum

239274

|

238040

1128

106

delta

-97553

|

-96947

-569

-37

可以對各個模塊的代碼段數據段的統計信息進行確認,對占用空間大的進行針對性優化。

2.3.3.3 nm命令

nm命令可查看內核模塊中各個符號的尺寸。如執行"nm --size -r vmlinux | head -10",可得到:

00004000 b __log_buf

00003e58 D nand_tbl

00003b14 T __blockdev_direct_IO

0000398c T hidinput_connect

00002f6c t ext4_fill_super

000027fc T hci_event_packet

0000245c t l2cap_recv_frame

000023d4 T dev_ethtool

00002274 t test_atomics

000020e4 t nl80211_send_wiphy

說明,一共有三列數據,分別表示大小、符號類型、符號名。其中符號類型:

b/B -符號位于bss段。

t/T -符號位于text段。

d/D -符號位于data段。

如果某些函數或者全局變量占用較大,可以進行針對性的優化。

2.3.3.4 kernel壓縮方式.

tina環境提供了幾種壓縮格式方式,選擇方式為make kernel_menuconfig:

General setup --->

Kernel compression mode (Gzip) --->

(X) Gzip

( ) LZMA

( ) XZ

( ) LZO

( ) LZ

同一個kernel鏡像使用不同的壓縮方式,鏡像大小如下表所示:

壓縮方式 鏡像大小 加載內核時間(從falsh加載到dram的時間) 解壓時間 總時間
GZIP 2.31M 124ms 89ms 213ms
LZO 2.53M 136ms 23ms 159ms
LZ4 2.68M 143ms 27ms 170ms
XZ 1.95M 104ms 667ms 771ms

2.4 文件系統裁剪.

對于文件系統裁剪來說,主要思路是刪、換、壓。

刪。刪除不需要的內容。如幫助文檔、沒用到的庫、調試程序等。

換。使用小尺寸的實現替換大尺寸的實現。如使用musl libc庫替換glibc庫等。

壓。使用合適的壓縮算法

2.4.1 應用程序及冗余文件裁剪

在不影響整體功能的情況下,一些應用程序或冗余文件往往可以刪除:

調試工具。比如tcpdump、mpstat、strace等等。

性能測試工具。比如lmbench、sysstat、tiobench等等。

冗余文件。幫助文檔、輔助程序、配置文件和數據模塊等,又比如很多應用有相同的共能,只留其一。

采用具有通用功能的替代軟件包。Linux上有許多具有相似功能的軟件包,可以選擇其中占存儲空間較小的軟件包并移植到嵌入式設備上。

資源文件。一些音視頻以及UI資源往往占用很大空間,如果沒有用到,也需要刪除。

2.4.2 庫的裁剪

關于庫的裁剪主要有兩個思路:

使用較小的C庫,如musl libc,uclibc等來替換glibc。

刪除沒有用到的庫。

2.4.2.1 C庫的選擇.

下表列出了當前一些通用的C庫及其特征。

表2-4:常用C庫及其特征

C庫 環境 大小 優點 缺點
glibc Distribution 強大穩定,支持最多的cpu架構 占用空間大
uclibc Embedded 為嵌入式設計,可配置性好 不支持libdb與libnss
bionic Android 提供了Android特性的函數 不提供libthread_db/libm
musl Embedded 更小,高效靜態鏈接,穩定 支持較少的cpu arch

當前Tina環境下可支持glibc與musl libc兩種C庫。具體可通過menuconfig的方式來配置

使用哪一套。

[*] Advanced configuration options (for developers) --->

Select external toolchain C library (Use glibc) --->

注意,更換C庫后,需要清除方案編譯產物(可執行make distclean),重新編譯。

2.4.2.2 刪除沒用到的庫

嵌入式產品通常應用程序有限,因此可能存在很多庫不會被用到,可以進行刪除。

當前Tina環境提供了一種刪除方法,執行make menuconfig,打開如下選項:

Tina Configuration

Target Images --->

[*] downsize the root filesystem or initramfs

打開之后,在生成rootfs/initramfs之前會對其中沒有用到的庫進行刪除。

具體可參考scripts/reduce-rootfs-size.sh文件,其主要思路是:

分析rootfs下的應用程序所依賴的庫。

分析“應用程序依賴庫”所依賴的庫,一直遞歸下去,直到完全找出所有依賴的庫。

根據上述查找結果,刪除沒有被依賴的庫。

說明:此方法有一定的限制:

當前只分析/lib,/usr/lib下的庫,其他目錄不會處理。

對于部分使用dlopen的應用程序,解析庫可能會出現問題。

2.4.3 應用程序與庫strip

strip會去掉應用程序與庫的符號信息和調試信息,大大減少空間占用。

當前Tina環境下默認開啟了strip功能,如果沒開啟,請確保開啟以減少空間占用。

Tina Configuration

Global build settings --->

Binary stripping method (strip) --->

說明:Tina 上還支持 sstrip ,即 super strip ,相對于 strip 來說,更能減少應用與庫的大小。

2.4.4 文件系統壓縮.

有些文件系統支持壓縮,有些不支持。下表列出了常見的文件系統類型:

表2-5:常用文件系統類型

FS 使用 壓縮 讀寫 備 注
ext2 block device RW 突然斷電或當機時可能導致數據丟失
ext3 block device RW 向前兼容ext3,日志式文件系統,非常成熟穩定
ext4 block device RW 向前兼容ext2和ext3,擴展存儲限制,提升性能
btrfs block device RW 著重于容錯、修復及易管理
FAT block device RW Windows,長期使用速度變慢,不支持>4G文件
NTFS block device RW Windows,基于FAT做若干改進,日志文件系統
Cramfs NAND Flash RO 2013停用,使用Squashfs
Squashfs Raw Flash RO 壓縮度更高,沒有大小限制
UBIFS Raw Flash RW 基于JFFS2,Linux3.7之后
JFFS2 Raw Flash RW mount時間很慢,讀寫性能不好
YAFFS2 NAND Flash RW 沒有透明壓縮,不在Linux主線

當前Tina環境下比較常用的是squahfs、ext4、jfss2三種文件系統。具體可執行makemenu-

config進行選擇:

Tina Configuration

Target Images --->

*** Root filesystem images ***

[ ] ext4 ----

[ ] jffs

[*] squashfs --->

常見的壓縮有lzop,gzip,xz等,壓縮率最高的是xz。但是xz壓縮解壓最慢,非常影響啟動速度。實際在選擇壓縮方式時應綜合考慮。


審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19126

    瀏覽量

    305244
  • Linux
    +關注

    關注

    87

    文章

    11304

    瀏覽量

    209523
  • 系統
    +關注

    關注

    1

    文章

    1017

    瀏覽量

    21347
收藏 人收藏

    評論

    相關推薦

    EAC0945 linux開發指南

    EAC0945 linux開發指南
    發表于 09-28 12:40

    EAC0945 linux開發指南

    `EAC0945 linux開發指南`
    發表于 10-31 12:18

    Tiny6410 Linux開發指南詳解

    Tiny6410 Linux 開發指南
    發表于 07-08 17:12 ?210次下載
    Tiny6410 <b class='flag-5'>Linux</b><b class='flag-5'>開發指南</b>詳解

    A64開發板LCD開發指南

    A64開發板LCD開發指南,驅動開發指南
    發表于 06-21 17:02 ?0次下載

    彩光燈開發指南

    彩光燈開發指南
    發表于 12-29 20:15 ?0次下載

    Linux的平臺下Mini210S裸機程序開發指南

    Linux的平臺下Mini210S裸機程序開發指南
    發表于 10-29 10:52 ?59次下載
    <b class='flag-5'>Linux</b>的平臺下Mini210S裸機程序<b class='flag-5'>開發指南</b>

    Rockchip Linux SDK的開發指南的詳細資料說明

    本文檔的主要內容詳細介紹的是Rockchip Linux SDK的開發指南的詳細資料說明。
    發表于 01-10 17:17 ?74次下載
    Rockchip <b class='flag-5'>Linux</b> SDK的<b class='flag-5'>開發指南</b>的詳細資料說明

    迅為RK3399開發板嵌入式linux開發指南

    迅為RK3399開發板嵌入式linux開發指南迅為RK3399開發板發布《北京迅為嵌入式linux開發指
    發表于 11-01 16:58 ?77次下載
    迅為RK3399<b class='flag-5'>開發</b>板嵌入式<b class='flag-5'>linux</b><b class='flag-5'>開發指南</b>

    Tina_Linux_系統軟件開發指南

    Tina_Linux_系統軟件開發指南
    的頭像 發表于 03-02 15:25 ?1833次閱讀
    <b class='flag-5'>Tina_Linux</b>_<b class='flag-5'>系統軟件開發指南</b>

    Tina Linux配置開發指南

    Tina Linux配置開發指南
    的頭像 發表于 03-02 15:28 ?1.6w次閱讀
    <b class='flag-5'>Tina</b> <b class='flag-5'>Linux</b>配置<b class='flag-5'>開發指南</b>

    Tina_Linux啟動優化開發指南

    編寫目的: 介紹TinaLinux下啟動速度優化使用方法。
    的頭像 發表于 03-06 09:53 ?1287次閱讀
    <b class='flag-5'>Tina_Linux</b>啟動優化<b class='flag-5'>開發指南</b>

    Linux NOR開發指南

    Linux NOR開發指南
    的頭像 發表于 03-06 09:55 ?971次閱讀
    <b class='flag-5'>Linux</b> NOR<b class='flag-5'>開發指南</b>

    Tina Linux圖形系統開發指南

    本文檔將介紹 Allwinner Tina Linux 中已經移植好的窗口系統,以及怎么使用,包括 MiniGUI、QT5、EFL、GTK+(WebkitGtk、Midori)、DirectFB、Wayland,整體結構 。
    的頭像 發表于 03-06 11:00 ?3150次閱讀
    <b class='flag-5'>Tina</b> <b class='flag-5'>Linux</b>圖形<b class='flag-5'>系統開發指南</b>

    Tina Linux音頻開發指南

    介紹Tina平臺音頻模塊的使用方法。
    的頭像 發表于 03-06 11:02 ?6418次閱讀
    <b class='flag-5'>Tina</b> <b class='flag-5'>Linux</b>音頻<b class='flag-5'>開發指南</b>

    Tina Linux PMU開發指南

    介紹使用Tina PMU 驅動的使用方法。
    的頭像 發表于 03-06 11:05 ?2103次閱讀
    <b class='flag-5'>Tina</b> <b class='flag-5'>Linux</b> PMU<b class='flag-5'>開發指南</b>
    主站蜘蛛池模板: 久久久噜噜噜| 亚洲五月综合网色九月色| 伊人久久综合成人亚洲| 欧美大片xxxxbbbb| 天天躁夜夜躁狠狠躁躁| abc119影院成人免费看| 色婷婷在线视频观看| 国产成人精品亚洲77美色 | 闲人综合| 中文字幕一区二区三区在线观看| 亚洲视频一区网站| 日本资源在线观看| 天天干人人| 国色天香精品亚洲精品| 五月婷六月丁香| 爱爱毛片| 6080yy午夜不卡一二三区| 青青草国产三级精品三级| 天天干天日| 中国成人免费视频| 国产精品三级在线观看| 性欧美高清极品xx| 日韩乱轮| 女同国产| 无限国产资源| 午夜狠狠操| 免费在线播放视频| 日本a级三级三级三级久久| 五月天婷婷网站| 国产午夜三级| 干美女在线视频| 中文字幕一区二区三区在线不卡| 欧美性爽xxxⅹbbbb| 国产综合在线视频| 加勒比一区二区| 国产普通话一二三道| 啪啪网免费视频| 免费一级毛片视频| 成人午夜网站| 亚洲成人在线网站| 在线免费国产视频|