導航:首頁 > 源碼編譯 > lpcs怎麼加編譯器

lpcs怎麼加編譯器

發布時間:2024-12-16 08:38:44

1. 如何編譯Windows下的OpenOCD

【OpenOCD介紹】
OpenOCD為嵌入式目標系統提供一個調試,在線編程和JTAG邊界掃描測試的工具。支持Wiggler,基於FT2232的JTAG界面等一些調試器。目標晶元支持ARM7,ARM9, ARM10, ARM11和Cortex等核心的晶元。並提供一個GDB Server介面。

【OpenOCD的編譯和安裝】
1. 如果是Windows平台的話,需要先安裝Cygwin環境,注意一定要選擇安裝以下開發包:

- autoconf: Wrapper scripts for autoconf commands
- automake: Wrapper scripts for automake and aclocals
- gcc: C compiler upgrade helper
- make: The GNU version og the 'make' utility
- subversion: A version control system
(可以完全安裝,佔用5G多的空間,需要下載800M的文件)。

2. 下載OpenOCD的SVN源代碼,打開Cygwin命令行界面,執行如下的命令:
mkdir /home/openocd
cd /home/openocd
svn checkout svn://svn.berlios.de/openocd/trunk或是
svn checkout http://svn.berlios.de/svnroot/repos/openocd/trunk trunk

下載需要一定的時間,完成後,當前目錄下就多了trunk目錄,裡面就有源代碼。

3. 如果你想要編譯用於FT2232介面的openocd,需要下載FTDI的驅動
解壓後會自動生成一個文件夾"CDM 2.04.06 WHQL Certified" , 從/i386或/amd64中(根據你的系統來選擇)復制 ftd2xx.lib到/home/openocd/ftd2xx(自己建立)中。現在在openocd文件夾下就有兩個文件夾,如下:
/home/openocd/trunk
/home/openocd/ftd2xx

4. 接著使用如下命令配置並編譯:
cd trunk
./bootstrap

如果你想生成一個基於cygwin的openocd,則輸入
./configure --enable-ft2232_ftd2xx --with-ftd2xx=/home/openocd/ftd2xx
生成一個基於mingw 的openocd,則輸入
./configure --enable-ft2232_ftd2xx --with-ftd2xx=/home/openocd/ftd2xx CC="gcc -mno-cygwin"
如果想同時支持FT2232和Wiggler,則輸入
./configure --enable-parport –enable-parport_giveio --enable-ft2232_ftd2xx --with-ftd2xx=/home/openocd/ftd2xx CC="gcc -mno-cygwin"

正確配置之後,就可以運行以下命令生成 OpenOCD:

make // 即可在/trunk/src中生成openocd
make install // 將openocd和配置文件安裝到/usr/local/bin和/usr/local/lib中
make pdf // 在/trunk/doc中生成pdf (必須安裝tex)

這樣OpenOCD就編譯並安裝完成了,並在doc目錄下生產了openocd.pdf幫助文檔。
可以使用命令"openocd -v"來查看版本。

【OpenOCD的配置】
詳細配置說明,請參考幫助文檔
LPC2000的配置文件(openocd.cfg):

#daemon configuration
telnet_port 4444
gdb_port 3333
tcl_port 6666

# tell gdb our flash memory map
# and enable flash programming
gdb_memory_map enable
gdb_flash_program enable

#interface
interface ft2232
ft2232_device_desc "USB Serial Converter A"
#ft2232_device_desc "USB OpenOCD JTAG A"
ft2232_layout "usbjtag"
ft2232_vid_pid 0x0403 0x6010
jtag_speed 3
#jtag_khz 300

#delays on reset lines
jtag_ntrst_delay 200

# NOTE!!! LPCs need reset pulled while RTCK is low. 0 to activate
# JTAG, power-on reset is not enough, i.e. you need to perform a
# reset before being able to talk to the LPC2148, attach is not
# possible.

#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst

#LPCs need reset pulled while RTCK is low. 0 to activate JTAG, power-on reset is not enough
jtag_reset 1 1
jtag_reset 0 0

#jtag scan chain
jtag_device 4 0x1 0xf 0xe

target arm7tdmi little 0 arm7tdmi-s_r4
[new_target_name] configure -event reset-init {
# Force target into ARM state
soft_reset_halt
#do not remap 0x0000-0x0020 to anything but the flash
mwb 0xE01FC040 0x01
}
working_area 0 0x40000000 0x4000 nobackup
#flash bank lpc2000 <base> <size> 0 0 <target#> <variant>
flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765

【OpenOCD的測試】
打開Cygwin命令行界面,執行命令:
openocd -f openocd.cfg
以下是我的運行截圖:

【IAR的配置】
在項目選項的Debug中的setup頁里,選擇GDB Server;

如果代碼需要下載到flash中運行,Download頁里選擇Use flash loader;在plugin頁里,可以去掉stack以提高速度。
在下面的GDB Server中,TCP/IP address or hostname中添localhost。

之後就可以按調試按鈕開始調試了。

閱讀全文

與lpcs怎麼加編譯器相關的資料

熱點內容
壓縮空氣質量抽查記錄 瀏覽:690
android判斷語句 瀏覽:301
柬埔寨伺服器2g怎麼樣 瀏覽:142
程序員培訓的學校 瀏覽:463
動漫絕對命令 瀏覽:76
雅思app怎麼樣 瀏覽:825
online用什麼伺服器好 瀏覽:5
電腦下載伺服器連接中斷怎麼辦 瀏覽:807
抖音好友伺服器維護中是什麼意思 瀏覽:192
app怎麼開通轉賬撤回功能 瀏覽:64
python根據文件名讀取文件 瀏覽:512
linux查看tomcat目錄 瀏覽:732
妄想山海伺服器怎麼刪除 瀏覽:347
賣出的藝術pdf 瀏覽:837
glsl在線編譯器 瀏覽:28
樓層柱子上下加密 瀏覽:1002
興強數控編程 瀏覽:162
驅動系統協議棧演算法 瀏覽:879
android模擬翻頁 瀏覽:977
安心醫生app怎麼注冊 瀏覽:313