2019年3月28日 星期四

安裝AndeSight_v1.4 for windows XP版 Build Project 出現error.

當安裝完成AndeSight_v1.4後,開啟一個新的C Project,當Build Project後發現以下error.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**** Build of configuration Debug for project Hello ****

make -k pre-build main-build
Auto-Generated folder; please do not remove this pre-build step.
rm -rf output; mkdir output

Building file: ../hello.c
Invoke C Compiler
/cygdrive/c/Andestech/AndeSight14/toolchains/nds32le-elf-newlib-V2/bin/nds32le-elf-gcc -fno-builtin -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"hello.d" -MT"hello.d" -ohello.o ../hello.c
nds32le-elf-gcc: /cygdrive/d/build-as-v1_4/v14-config/../build-2010-05-10/task-nds32le-elf-newlib-V2/build/disable-shared/nds32le-elf/lib/gcc/nds32le-elf/specs: No medium found
make: *** [hello.o] Error 1
Invoke NM Tool
/cygdrive/c/Andestech/AndeSight14/toolchains/nds32le-elf-newlib-V2/bin/nds32le-elf-nm -n -l -C Hello.adx > ./output/symbol.txt
/cygdrive/c/Andestech/AndeSight14/toolchains/nds32le-elf-newlib-V2/bin/nds32le-elf-nm: 'Hello.adx': No such file
make: *** [output/symbol.txt] Error 1
Invoke Readelf Tool
/cygdrive/c/Andestech/AndeSight14/toolchains/nds32le-elf-newlib-V2/bin/nds32le-elf-readelf -a Hello.adx > ./output/readelf.txt
readelf: Error: 'Hello.adx': No such file
make: *** [output/readelf.txt] Error 1
Invoke Objdump Tool
# The tool is disabled.
Finished building: output/objdump.txt

Invoke Objcopy Tool
# The tool is disabled.
Finished building: output/Hello.bin

make: Target `main-build' not remade because of errors.
Build complete for project Hello

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

主要是GCC 預設會先找build 資料夾的 specs (AndeSight_v1.4是在 d:\ 底下 build),如果路徑不存在就會找自己 toolchain底下的 specs($TOOLCHAIN_ROOT/lib/gcc/nds32le-elf/3.4.4/specs)
這時d:\ 如果設定為光碟機,而且裡面沒有光碟,當存取 d:\ 會遇到 “No Medium found” 的錯誤,
但是如果 d:\ 是一般硬碟就不會有這個問題,建議可以先更改光碟機代號成非 d:\ ,例如 e:\~ z:\.

設定光碟機代號:
〝控制台〞->〝系統管理工具〞->〝電腦管理〞->〝磁碟管理〞選擇要改變的硬碟按〝滑鼠右鍵〞->〝變更磁碟機代號及路徑(改成 e:\~ z:\)〞.


AndeSight v1.4 for Linux toolchains

第一次拿到Andes core時不知道要如何選擇編譯器(compilers),當安裝完AndeSight後可以在〝/home/acer/Andestech/AndeSight14/toolchains〞下看到所有的編譯器,MS-Windows版本也相同. 名稱命名方式大致如下: 1. nds: Andes. 2. 32: 32bit. 3. be: big endian. 4. le: little endian. 5. elf-newlib: for Non-OS. 6. linux-glibc: for Linux OS. 7. linux-uclibc: for μCLinux OS. 8. V?f: 版本,如後面有加〝f〞,代表浮點運算(FPU). 9. V?j: 版本,如後面有加〝j〞,代表代表支援16GPR.


AndeSight與AICE使用教學(1)-AndeShape開發平台安裝

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Windows OS: MS-Windows XP.
(4). Toolchains: AndeSight v1.4 for MS-Windows XP.
(5). Embedded Linux2.6.27
2. 實驗目的:
安裝開發環境,將APD-XC5開發板經由AICE與PC上的AndeSight v1.4 IDE建立完整的開發環境.
3. 實驗步驟:
(1). 完整的開發環境架構圖如下所示,AICE使用來控制CPU(N12 core),RS232是將程式中printf()的訊息傳回電腦的超級終端機.(2). 將AICE的JTAG排線接上,注意〝紅線為PIN1〞請依照下圖所示〝紅線靠左〞接上.(3). 將AICE的USB線接上,並連接至電腦.(4). 將AICE的JTAG排線連接至ADP-XC5開發板,注意〝紅線為PIN1〞連接至〝ADP-XC5排針的PIN1(J29)〞相接,如下圖所示.(5). 將ADP-XC5開發板的〝COM2〞,使用RS232線與電腦連接,如果使用筆記型電腦者,可以購買USB to RS232的轉接線使用.(6). 將LCM模組的排線依照下圖所示,連接至LCM模組背板,〝紅線為PIN1〞連接至〝LCM模組背板排針PIN1(J2,J3)〞.晶心科技出貨的3.5吋LCM模組都有支援電阻式觸控面板.
注意: 目前LCM模組背板共有2個版本,V10與V20的〝排針PIN1不同〞請注意方向.(7). 再將LCM模組的排線依照下圖所示,連接至ADP-XC5開發板, 〝紅線為PIN1〞連接至〝ADP-XC5開發板排針PIN1(J1,J2)〞.(8). 接上5V電源,〝開啟電源(SW1)〞,如下圖所示.(9). 按下〝PWR ON(SW2)〞鍵.(10). 之後可以可以看到debug LED顯示〝99〞.(11). 最後完成如下圖所示.


AndeSight與AICE使用教學(2)-新增New Project與New Source File

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Windows OS: MS-Windows XP.
(4). Toolchains: AndeSight v1.4 for MS-Windows XP.
(5). Embedded Linux2.6.27
2. 實驗目的:
開啟AndeSight_v1.4版,並新增New Project與New Source File.
3. 實驗步驟:
(1). 使用滑鼠點選〝AndeSight_v1.4〞版桌面捷徑開啟.(2). 開啟AndeSight後顯示如下所示.(3). 使用滑鼠選擇〝File〞->〝New〞->〝C Project〞.(4). 輸入Project name,我在這裡輸入〝Hello World〞.(5). 這裡不做任何更改,按〝Next>〞.(6). 這裡不做任何選擇,按〝Next>〞.(7). 這裡選擇我們需要的編譯器,選擇完畢按〝Finish〞結束選擇.
選擇說明如下:
A. Target Type Selection: 選擇〝CPU〞,使用CPU分類選擇我們的需要的編譯器.
B. CPU Family: 這裡是選擇CPU的等級,使用者須先確認自己是使用哪一款等級的CPU.我這裡先選擇〝n12〞.
C. Endian Type: 這裡選擇一般普遍使用的〝little endian〞,高位元在左,低位元在右.
D. Default library: 這裡選擇〝newlib〞,Non-OS的編譯器.
E. ToolChain Name: 這裡選擇〝nds32-elf-newlib-V1〞,for N12 core Non-OS的編譯器.(8). 選擇完成後,可以看到如下圖所示.(9). 再來就是在這個Project下增加一個.C檔的Source File.產生了一個New Project,使用〝滑鼠左鍵〞點選剛剛新增的New Project後,按〝滑鼠右鍵〞,之後選擇〝New〞->〝Source File〞.(10). 在Source File欄位,輸入檔案名稱,這裡我輸入〝main.c〞,這是個人習慣,主程式用main命名,已方便其他人閱讀程式,輸入完成按〝Finish〞.(11). 之後會在New Project下增加一個Source File,如下圖所示.


AndeSight與AICE使用教學(3)-撰寫程式與編譯程式

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Windows OS: MS-Windows XP.
(4). Toolchains: AndeSight v1.4 for MS-Windows XP.
(5). Embedded Linux2.6.27
2. 實驗目的:
使用上一章節新增的New Project與New Source File,撰寫程式並執行編譯.
3. 實驗步驟:
(1). 使用上一章節新增的New Source File,用滑鼠點選〝main.c〞.
注意: 可以看到視窗右上角模式切換選項,編輯程式請選擇〝Coder〞,除錯程式請選擇〝Debug〞.
(2). 再編輯視窗內,依照下列所示輸入程式.
#include
#include

int main(void)
{
int i;

for(i=0;i<5 br="" i="">
{
printf("Hello World!\n");
}
return 0;
}(3). 使用〝滑鼠左鍵〞點選Project後,按〝滑鼠右鍵〞,之後選擇〝Build Project〞.(4). 編譯中請稍後.(5). 如果編譯後沒有錯誤,可以看到如下所示,產生〝makefile〞與用於除錯〝HelloWorld.adx〞執行檔.



AndeSight與AICE使用教學(4)-使用AICE與開發板AndeShape連結

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Windows OS: MS-Windows XP.
(4). Toolchains: AndeSight v1.4 for MS-Windows XP.
(5). Embedded Linux2.6.27
2. 實驗目的:
(1).使用上一章節撰寫的測試程式,測試AICE與開發板ADP-XC5連結.
(2). 因為上一章節的程式只有printf(),因此需要使用超級終端機,我這裡使用好用易學的TeraTerm. 3. 實驗步驟:
(1). 先使用滑鼠點選桌面捷徑,開啟TeraTerm.
(2). 選擇〝Serial〞,因為我使用USB to RS232轉接線,因此Port選擇〝USB-to-Serial Bridge〞
注意:如果是桌上型電腦可以選擇〝COM1〞.(3). 使用滑鼠選擇〝Setup〞->〝Serial port...〞.(4). 設定〝Baud rate:38400〞後按〝OK〞結束設定.(5). 設定AICE與開發板連結,沿用上一章節的範例,使用滑鼠選擇〝Target〞->〝Fork ICE Target〞.(6). 按〝Finish〞結束設定.
注意: 勾選〝Enable Console setting〞可將超級終端機的功能顯示在AndeSight下方的Console視窗內.(7). AICE與開發板ADP-XC5連結後,結果如下所示.



ADP-XC5FF676平台進入boot code.

(1)Setup ADP-XC5FF676.

(2)開啟電源,依照下列步驟操作.
a.按下"SW2"(PWR ON)鍵.
b.電路板為1.0版按"SW5"鍵,電路板為1.1版按"SW4"鍵.
c.7-LED顯示"b7".

(3) 依照上述步驟後PC端的”超級終端機”(注意:Baud rate設為38400)會顯示如下所示,可以輸入指令.