當前位置:首頁 » 操作系統 » linuxarm教程

linuxarm教程

發布時間: 2022-09-07 08:14:41

⑴ cpu 是arm 架構的linux 麒麟系統 怎樣使用android studio 開發app 程序

這個你需要去下載相應的Linux版本的android studio開發軟體,然後將其安裝到你的Linux系統上,安裝好後,進行相應的設置,就可以使用android studio開發app程序了。
樓主如果對Linux系統感興趣,想學習更多Linux系統知識,可以網路《Linux就該這么學》,不錯的一本Linux系統教程。

⑵ ARM&Linux嵌入式系統教程

看反匯編吧

⑶ arm+linux應該怎麼學

參考文章: http://www.amobbs.com/forum.php?mod=viewthread&tid=5509423&page=2

然而arm的並非想像中的那麼順利,bootloader啟動代碼等在單片機中從未有過的概念讓我困惑了好長一段時候,arm匯編指令的學習也因為沒有得到實際的驗證而難以理解。如今想起來如果當初能有一個項目在做,先不去弄啟動代碼的話,也許彎路不用走那麼長。那時在學校還不怎麼會利用網路,都是靠書本來學習的,但發現書上講的並不詳細,我心中對啟動代碼的疑惑還沒能解開,arm啟動代碼是怎樣把code從nor flash中拷貝到sdram中的,我幾乎看遍了市面上所有有關arm的書,都沒有一本是仔細講這個問題的。對於從單片機匯編轉向arm C語言的我來說,C語言的執行環境問題也曾困擾著我。而這些問題我在書上、網路上找了好久都沒有得到理想的答案。

其實arm並不難,難只是比單片機多了啟動代碼bootloader的概念。那時學arm匯編最好的書是周立功出的,周圍的朋友都是用他的書來學的,於是我又買了他的板子加書,書是講得不錯,但他用的晶元和三星的完全不一樣,啟動代碼也不一樣,而啟動代碼被我看作是最關鍵的地方,最終easyarm也沒有學好。

⑷ 如何學好LinuxLinux與arm怎樣過度學習

嵌入式Linux操作系統學習規劃
ARM+LINUX路線,主攻嵌入式Linux操作系統及其上應用軟體開發目標:
(1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9)
(2) 必須掌握一個嵌入式操作系統 (初步定為uclinux或linux,版本待定)
(3) 必須熟悉嵌入式軟體開發流程並至少做一個嵌入式軟體項目。
從事嵌入式軟體開發的好處是:
(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。
(2)與企業計算等應用軟體不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。
(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟體那樣容易被盜版。硬體設計一般都是請其它公司給訂做(這叫「貼牌」:OEM),都是通用的硬體,我們只管設計軟體就變成自己的產品了。
(4)興趣所在,這是最主要的。
從事嵌入式軟體開發的缺點是:
(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬體基礎不好,特別是操作系統級軟體功底不深,則可能不適於此行。
(2)這方面的企業數量要遠少於企業計算類企業。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基於嵌入式的難度。但大多數公司也並無此要求,只要有經驗即可。
(4)平台依託強,換平台比較辛苦。
興趣的由來:
1、成功觀念不同,不虛度此生,就是我的成功。
2、喜歡思考,挑戰邏輯思維。
3、喜歡C
C是一種能發揮思維極限的語言。關於C的精神的一些方面可以被概述成短句如下:
相信程序員。
不要阻止程序員做那些需要去做的。
保持語言短小精幹。
一種方法做一個操作。
使得它運行的夠快,盡管它並不能保證將是可移植的。
4、喜歡底層開發,討厭vb類開發工具(並不是說vb不好)。
5、發展前景好,適合創業,不想自己要死了的時候還是一個工程師。
方法步驟:
1、基礎知識:
目的:能看懂硬體工作原理,但重點在嵌入式軟體,特別是操作系統級軟體,那將是我的優勢。
科目:數字電路、計算機組成原理、嵌入式微處理器結構。
匯編語言、C/C++、編譯原理、離散數學。
數據結構和演算法、操作系統、軟體工程、網路、資料庫
方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。不一定全學,可根據需要選修。
主攻書籍:the c++ programming language(一直沒時間讀)、數據結構-C2。

2、學習linux:
目的:深入掌握linux系統。
方法:使用linux—〉linxu系統編程開發—〉驅動開發和分析linux內核。先看深,那主講原理。看幾遍後,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最後深入代碼。
主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。
3、學習嵌入式linux:
目的:掌握嵌入式處理器其及系統。
方法:(1)嵌入式微處理器結構與應用:直接arm原理及匯編即可,不要重復x86。
(2)嵌入式操作系統類:ucOS/II簡單,開源,可供入門。而後深入研究uClinux。
(3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。
主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm匯編指令等。

4、深入學習:
A、數字圖像壓縮技術:主要是應掌握MPEG、mp3等編解碼演算法和技術。
B、通信協議及編程技術:TCP/IP協議、802.11,Bluetooth,GPRS、GSM、CDMA等。

⑸ 如何安裝arm-linux-gcc

1、下載並安裝arm-linux-gcc
arm-linux-gcc-4.2.1的版本在http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/這里可以下載,最新版arm-linux-tools-20080623.tar.gz這個可能是4.2.4的版本,因為下面有編譯4.2.4的方法還有相應的代碼包,build-arm-linux-4.2.14,此版本由於過大,我沒有下載。
下面的這個是ARM官方給的下載鏈接http://www.codesourcery.com/gnu_toolchains/arm/download.html,然後將HOST選擇為IA32 GNU/Linux,點擊下載就可以了。不過前綴為arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu而不是arm-linux-。。。
在友善之臂官方網站http://www.arm9.net/download.asp下載arm-linux-gcc4.4.3。

2、刪除之前安裝有舊版本,執行
[root@localhost ~]# rm -rf /opt/arm

3、對新版本arm-linux-gcc-4.4.3進行解壓(注意,如果我們加上了-C,那麼就會自動解壓到/usr/local/arm/這個目錄下),
但是友善之臂按照下列方式解壓,不會解壓到/usr/local/arm/目錄下的,這是因為友善之臂把/usr/local/arm/目錄修改成了
/opt/FriendlyARM/toolschain/,除非自己在把它修改過來
[root@localhost ~]# tar -ivxzf /smbroot/arm-linux-gcc-4.4.3.tar.gz -C /

4、修改配置文件,將arm-linux-gcc添加到環境變數中,因為arm-linux-gcc的命令是在/usr/local/arm/4.4.3/bin下,其目的通過對全局變數綁定使之能夠在任意一個目錄下能夠執行該命令。
打開設置文件
[root@localhost opt]# vi /etc/profile
在打開的文件的
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /usr/local/arm/4.4.3/bin
fi
或者在文件末尾添加
export PATH=$PATH:/usr/local/arm/4.4.3/bin
保存退出

5、立即使新的環境變數生效,不用重啟電腦
[root@localhost opt]# source /etc/profile
[root@localhost opt]#
6,檢查是否將路徑加入到PATH:
[root@localhost opt]# echo $PATH
顯示的內容中有/usr/local/arm/4.4.3/bin,說明已經將交叉編譯器的路徑加入PATH。至此,交叉編譯環境安裝完成。
7、測試是否安裝成功
首先,執行find命令查詢一下arm-linux-gcc的位置
[root@localhost ~]# find / -name arm-linux-gcc
/opt/arm/toolschain/4.4.3/bin/arm-linux-gcc
[root@localhost ~]#
可以看到arm-linux-gcc的位置與環境變數中設定的路徑一致
接下來查詢arm-linux-gcc的版本
[root@localhost bin]# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured
with:
/opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure
--build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu
--target=arm-none-linux-gnueabi
--prefix=/opt/FriendlyARM/toolschain/4.4.3
--with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root
--enable-languages=c,c++ --disable-multilib --with-arch=armv4t
--with-cpu=arm920t --with-tune=arm920t --with-float=soft
--with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions
--enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3
--with-mpfr=/opt/FriendlyARM/toolschain/4.4.3
--with-ppl=/opt/FriendlyARM/toolschain/4.4.3
--with-cloog=/opt/FriendlyARM/toolschain/4.4.3
--with-mpc=/opt/FriendlyARM/toolschain/4.4.3
--with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root
--disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99
--enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1)
[root@localhost bin]#
可以看到arm-linux-gcc的版本號,至此,arm-linu-gcc已成功安裝。

⑹ linux基本都是在ARM開發板上運行為什麼所有教程都是以PC端講解呢對於小白,就算學會了,也不會用啊

伺服器和常見PC設備是使用的一樣架構的,一些嵌入式設備才會用ARM架構的CPU。比如智能家居,ATM機,等這些屬於嵌入式設備,手機也屬於嵌入式設備。
同樣使用Linux內核,但是CPU架構是不同的,而平常所說的PC和伺服器幾乎都是intel和amd架構的,也就是你平時使用的電腦使用的架構。因此並不存在你說的那種情況。

⑺ 想學ARM嵌入式linux,不知道怎麼入門

你需要有C語言基礎,同時有較好的學習能力和英文水平,再買個開發板,或者是到21IC電子工程師論壇去尋找相關的資源和學習方法

⑻ 怎麼安裝arm-linux-gcc4.8

CrossBuild很蛋疼的,以目標內核2.6.x為例,我們需要以下基本包:
binutils-2.23.1.tar.bz2
gcc-4.8.2.tar.bz2

glibc-2.18.tar.bz2
glibc-linuxthreads-2.5.tar.bz2
gdb-7.6.1.tar.bz2
linux-2.6.34.14.tar.xz
mpfr-3.1.2.tar.bz2
mpc-1.0.1.tar.gz
gmp-5.1.3.tar.bz2
因為編譯過程很費時,你要在bash配置文件中直接聲明環境變數:
vim ~/.bashrc
export TARGET=arm-linux-gnueabi
export PREFIX=/usr/local/arm/4.8.2
export TARGET_PREFIX=$PREFIX/$TARGET
export PATH=$PATH:$PREFIX/bin
#source ~/.bashrc
以便下次工作繼續恢復現場。

工具鏈創建:

先來安裝mpfr、mpc、gmp。#號表示在root下工作。
#tar -xjf gmp-5.1.3.tar.bz2 &&cd gmp-5.1.3
#mkdir build && cd build && \
../configure --prefix=/usr/local/gmp --build=x86_64-linux-gnu && \
make && make install

OK,gmp done,Next,搞搞mpfr:
#tar -xjvf mpfr-3.1.2.tar.bz2 && cd mpfr-3.1.2
#../configure --build=x86_64-linux-gnu --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmp &&\
make &&make install

OK, mpfr done, Next we build mpc:
#tar -xzvf mpc-1.0.1.tar.gz && cd mpc-1.0.1
mkdir build && cd build
#../configure --build=x86_64-linux-gnu --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr &&\
make &&make install

After, we need to linux-kernel-headers:
xz -d linux-2.6.34.14.tar.xz
tar -xvf linux-2.6.34.14.tar
cd linux-2.6.34.14
make menuconfig
這里我們不作任何個性,直接保存退出。
#make include/linux/version.h
#mkdir -p $TARGET_PREFIX/include
#cp -r ./include/linux/ $TARGET_PREFIX/include
#cp -r ./include/asm-generic/ $TARGET_PREFIX/include
#cp -r ./arch/arm/include/asm/ $TARGET_PREFIX/include
然後編譯binutils:
#tar -xjvf binutils-2.23.1.tar.bz2
#cd binutils-2.23.1
#mkdir build && cd build
#../configure --prefix=$PREFIX --target=$TARGET
#make
#make install
$TARGET得到一大堆工具,我就不一一介紹了。
接下來為ARM平台編譯不帶鏈接庫的原初編譯器,這一步稱作恐龍蛋生小雞。

解開tar -xjvf gcc-4.8.2.tar.bz2,並把mpfr-3.1.2.tar.bz2、mpc-1.0.1.tar.gz、gmp-5.1.3.tar.bz2也解開,去掉版本號放到gcc源目錄下。
先刪除 gcc下上述幾個包,如果存在的話:
rm -rf mpfr-3.1.2 mpc-1.0.1 gmp-5.1.3
然後解包,並移入gcc下:
#tar -xjvf gmp-5.1.3.tar.bz2
#mv gmp-5.1.3 gmp
#mv ./gmp ./gcc-4.8.2

#tar -xjvf mpfr-3.1.2.tar.bz2
#mv mpfr-3.1.2 mpfr
#mv ./mpfr ./gcc-4.8.2

#tar -xzvf mpc-1.0.1.tar.gz
#mv mpc-1.0.1 mpc
#mv ./mpc ./gcc-4.8.2

可以編譯gcc了:
#cd gcc-4.8.2
#mkdir build && cd build
#../configure --prefix=$PREFIX --target=$TARGET --without-headers --enable-languages=c --disable-threads --with-newlib --disable-shared --disable-libmudflap --disable-libssp --disable-decimal-float &&\
make all-gcc && make install-gcc && make all-target-libgcc &&\
make install-target-libgcc
如果沒出錯的話,這里的預編譯就快搞好了,擦把汗先。
#tar -xvf glibc-2.18.tar.xz
#tar -xvf glibc-linuxthreads-2.5.tar.bz2 --directory=./glibc-2.18
# cd glibc-2.18
# mkdir build
# cd build
# CC=$TARGET-gcc
#export CFLAGS="-g -O2 -march=arm"
# ln -s /usr/local/arm/4.8.2/lib/gcc/arm-linux-gnueabi/4.8.2/libgcc.a /usr/local/arm/4.8.2/lib/gcc/arm-linux-gnueabi/4.8.2/libgcc_eh.a
這里編譯好的glibc就是for arm的glibc了。

創建config.cache配置文件
# vim config.cache
libc_cv_forced_unwind=yes
libc_cv_c_cleanup=yes
libc_cv_arm_tls=yes

# ../configure --host=$TARGET --target=$TARGET --prefix=$TARGET_PREFIX --enable-add-ons --disable-profile --cache-file=config.cache --with-binutils=$PREFIX/bin --with-headers=$TARGET_PREFIX/include
#make all
#make install
預編譯環境搭好,我擦已經下班了,明天繼續。
好了,為正式開始 arm 鑄刀:

# cd gcc-4.8.2/build/
# rm -rf *
# ../configure --prefix=$PREFIX --target=$TARGET --enable-shared --enable-languages=c,c++
# make
# make install
這就是arm版的gcc了

編譯gdb
# tar -xvf gdb-7.6.1.tar.bz2
# make
# make install

創建鏈接
# cd $PREFIX/bin
# ln -s arm-linux-gnueabi-addr2line arm-linux-addr2line
# ln -s arm-linux-gnueabi-ar arm-linux-ar
# ln -s arm-linux-gnueabi-as arm-linux-as
# ln -s arm-linux-gnueabi-c++ arm-linux-c++
# ln -s arm-linux-gnueabi-c++filt arm-linux-c++filt
# ln -s arm-linux-gnueabi-cpp arm-linux-cpp
# ln -s arm-linux-gnueabi-elfedit arm-linux-elfedit
# ln -s arm-linux-gnueabi-g++ arm-linux-g++
# ln -s arm-linux-gnueabi-gcc arm-linux-gcc
# ln -s arm-linux-gnueabi-gcc-4.6.3 arm-linux-gcc-4.6.3
# ln -s arm-linux-gnueabi-gcov arm-linux-gcov
# ln -s arm-linux-gnueabi-gdb arm-linux-gdb
# ln -s arm-linux-gnueabi-gdbtui arm-linux-gdbtui
# ln -s arm-linux-gnueabi-gprof arm-linux-gprof
# ln -s arm-linux-gnueabi-ld arm-linux-ld
# ln -s arm-linux-gnueabi-ld.bfd arm-linux-ld.bfd
# ln -s arm-linux-gnueabi-nm arm-linux-nm
# ln -s arm-linux-gnueabi-obj arm-linux-obj
# ln -s arm-linux-gnueabi-objmp arm-linux-objmp
# ln -s arm-linux-gnueabi-ranlib arm-linux-ranlib
# ln -s arm-linux-gnueabi-readelf arm-linux-readelf
# ln -s arm-linux-gnueabi-run arm-linux-run
# ln -s arm-linux-gnueabi-size arm-linux-size
# ln -s arm-linux-gnueabi-strings arm-linux-strings
# ln -s arm-linux-gnueabi-strip arm-linux-strip
這把可以殺人了,開始為你樹莓派編譯軟體吧。

⑼ 怎樣把linux系統安裝到arm開發板現在知道需要安裝三個部分bootloader,linux內核,文件系統

一般的開發板都有在windows下提供這樣的燒寫工具,linux下比較麻煩,要用dd命令把bootloader燒到sd卡的0扇區去,然後再用dd命令把內核和文件系統燒進去。

⑽ linux arm 交叉編譯怎麼使用

交叉編譯器通常以 arm-none-linux-gnueabi.tar.bz2 這樣的名稱發布(不同廠家的不同開發平台,交叉編譯工具鏈的實際名稱可能有所差別,請以實際為准),解壓命令: vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2 如果希望解壓...

熱點內容
日產高配有哪些配置 發布:2025-05-12 10:32:16 瀏覽:474
大眾朗逸哪個配置值得入手 發布:2025-05-12 10:31:20 瀏覽:503
壓縮包的後綴 發布:2025-05-12 10:20:35 瀏覽:939
煙台招聘編程 發布:2025-05-12 10:04:21 瀏覽:52
sql查詢所有表名 發布:2025-05-12 10:01:28 瀏覽:663
用python編譯器的簡單代碼 發布:2025-05-12 09:48:40 瀏覽:357
香港多ip站群伺服器租用 發布:2025-05-12 09:33:16 瀏覽:894
kaliapk編譯 發布:2025-05-12 08:47:56 瀏覽:357
健身穿壓縮衣 發布:2025-05-12 08:44:53 瀏覽:479
vps撥號伺服器搭建 發布:2025-05-12 08:35:20 瀏覽:310