您好, 歡迎來(lái)到儀表網(wǎng)! 登錄| 免費(fèi)注冊(cè)| 產(chǎn)品展廳| 收藏商鋪|
當(dāng)前位置:(上海辦事處)廈門(mén)興銳嘉進(jìn)出口有限公司>>Philips DCS系統(tǒng)中心>> 內(nèi)蒙古 Philips PM5515T *供應(yīng)
| 參 考 價(jià) | 面議 |
產(chǎn)品型號(hào)
品 牌
廠商性質(zhì)經(jīng)銷(xiāo)商
所 在 地上海
聯(lián)系方式:劉錦玲查看聯(lián)系方式
更新時(shí)間:2018-05-14 09:00:00瀏覽次數(shù):264次
聯(lián)系我時(shí),請(qǐng)告知來(lái)自 儀表網(wǎng)泰安市 SIEMENS/MOORE 16169-1-1 優(yōu)質(zhì)供應(yīng)
煙臺(tái)市 SIEMENS/MOORE 16201-1-1 *供應(yīng)
東營(yíng)市 SIEMENS/MOORE 16201-1-4 *供應(yīng)
淄博市 Philips PM8935/40 精制品供應(yīng)
用Philips PM5515T 或g++生成目標(biāo)文件
如果應(yīng)用程序包括多個(gè)文件,就需要進(jìn)行分別編譯,zui后用連接器連接起來(lái)。如筆者的引導(dǎo)程序包括3個(gè)文件:init.s(匯編代碼、初始化硬件) xmrecever.c(通信模塊,采用Xmode協(xié)議)和flash.c(Flash擦寫(xiě)模塊)。 分別用如下命令生成目標(biāo)文件: arm-linux-gcc-c-O2-o init.o init.s arm-linux-gcc-c-O2-o xmrecever.o xmrecever.c arm-linux-gcc-c-O2-o flash.o flash.c 其中-c命令表示只生成目標(biāo)代碼,不進(jìn)行連接;-o 命令指明目標(biāo)文件的名稱;-O2表示采用二級(jí)優(yōu)化,采用優(yōu)化后可使生成的代碼更短,運(yùn)行速度更快。如果項(xiàng)目包含很多文件,則需要編寫(xiě)makefile文件。關(guān)于makefile的內(nèi)容,請(qǐng)感興趣的讀者參考相關(guān)資料。
?。?)Philips PM5515T 編寫(xiě)連接腳本文件
gcc等編譯器內(nèi)置有缺省的連接腳本。如果采用缺省腳本,則生成的目標(biāo)代碼需要操作系統(tǒng)才能加載運(yùn)行。為了能在嵌入式系統(tǒng)上直接運(yùn)行,需要編寫(xiě)自己的連接腳本文件。編寫(xiě)連接腳本,首先要對(duì)目標(biāo)文件的格式有一定了解。GNU編譯器生成的目標(biāo)文件缺省為elf格式。elf文件由若干段(section)組成,如不特殊指明,由C源程序生成的目標(biāo)代碼中包含如下段:.text(正文段)包含程序的指令代碼;.data(數(shù)據(jù)段)包含固定的數(shù)據(jù),如常量、字符串;.bss(未初始化數(shù)據(jù)段)包含未初始化的變量、數(shù)組等。C++源程序生成的目標(biāo)代碼中還包括.fini(析構(gòu)函數(shù)代碼)和.init(構(gòu)造函數(shù)代碼)等。有關(guān)elf文件格式,讀者可自行參考相關(guān)資料。連接器的任務(wù)就是將多個(gè)目標(biāo)文件的.text、.data和.bss等段連接在一起,而連接腳本文件是告訴連接器從什么地址開(kāi)始放置這些段。例如筆者的引導(dǎo)程序連接文件link.lds為: ENTRY(begin) SECTION { 。=0x00300000; .text : { *(.text) } .data: { *(.data) } .bss: { *(.bss) } }
其中,ENTRY(begin)指明程序的入口點(diǎn)為begin標(biāo)號(hào);。=0x00300000指明目標(biāo)代碼的起始地址為0x00300000,這一段地址為MX1的片內(nèi)RAM;.text : { *(.text) }表示從0x00300000開(kāi)始放置所有目標(biāo)文件的代碼段,隨后的.data: { *(.data) }表示數(shù)據(jù)段從代碼段的末尾開(kāi)始,再后是.bss段。
?。?)Philips PM5515T 用連接器生成zui終目標(biāo)文件
有了連接腳本文件,如下命令可生成zui終的目標(biāo)文件: arm-linux-ld-nostadlib-o bootstrap.elf-T link.lds init.o xmrecever.o flash.o 其中,ostadlib表示不連接系統(tǒng)的運(yùn)行庫(kù),而是直接從begin入口;-o指明目標(biāo)文件的名稱;-T指明采用的連接腳本文件;zui后是需要連接的目標(biāo)文件列表。
?。?)Philips PM5515T 生成二進(jìn)制代碼
連接生成的elf文件還不能直接下載執(zhí)行,通過(guò)objcopy工具可生成zui終的二進(jìn)制文件: arm-linux-objcopy-O binary bootstrap.elf bootstrap.bin 其中-Obinary生成為二進(jìn)制格式文件。Objcopy還可以生成S格式的文件,只需將參數(shù)換成-O srec。如果想將生成的目標(biāo)代碼反匯編,還可以用objdump工具: arm-linux-objdump-D bootstrap.elf 至此,所生成的目標(biāo)文件就可以直接寫(xiě)入Flash中運(yùn)行了。如果要通過(guò)自舉模式下載,還需要轉(zhuǎn)換為自舉模式的文件格式,相關(guān)轉(zhuǎn)換工具可以在摩托羅拉的上找到。
掌握了GNU工具后,*就可以開(kāi)發(fā)或移植C或C++代碼的程序。用戶可以不需要操作系統(tǒng),直接開(kāi)發(fā)簡(jiǎn)單應(yīng)用程序。但對(duì)于更復(fù)雜的應(yīng)用來(lái)說(shuō),操作系統(tǒng)*。目前流行的源代碼公開(kāi)的操作系統(tǒng)如Linux、μC/OS都可以用GNU工具編譯。ARM的Linux已有很多成熟的版本,可以支持 ARM720、ARM920、 ARM1020等多種處理器,讀者可從www.uclinux.org或www.armdevzone.com上獲取信息。Linux移植過(guò)程中和處理器相關(guān)的代碼都放在arch/arm目錄下。對(duì)于內(nèi)核,用戶需要做的是設(shè)定自己系統(tǒng)的內(nèi)存映像,RAM起始地址,I/O地址空間和虛擬I/O地址空間,參看arch/arm/mach-integrator/arch.c文件。除了內(nèi)核外,用戶還需要為自己的系統(tǒng)編制各種各樣的驅(qū)動(dòng)程序。
4 調(diào)試工具
Philips PM5515T 下的GNU調(diào)試工具主要是gdb、gdbserver和kgdb。其中g(shù)db和gdbserver可完成對(duì)目標(biāo)板上Linux下應(yīng)用程序的遠(yuǎn)程調(diào)試。gdbserver是一個(gè)很小的應(yīng)用程序,運(yùn)行于目標(biāo)板上,可監(jiān)控被調(diào)試進(jìn)程的運(yùn)行,并通過(guò)串口與上位機(jī)上的gdb通信。*可以通過(guò)上位機(jī)的gdb輸入命令,控制目標(biāo)板上進(jìn)程的運(yùn)行,查看內(nèi)存和寄存器的內(nèi)容。gdb5.1.1以后的版本加入了對(duì)ARM處理器的支持,在初始化時(shí)加入-target==arm參數(shù)可直接生成基于ARM平臺(tái)的gdbserver。gdb工具可以從ftp://ftp.gnu.org/pub/gnu /gdb/上下載。
對(duì)于Philips PM5515T 內(nèi)核的調(diào)試,可以采用kgdb工具,同樣需要通過(guò)串口與上位機(jī)上的gdb通信,對(duì)目標(biāo)板的Linux內(nèi)核進(jìn)行調(diào)試。由于篇幅所限,感興趣的讀者可以從http://oss.sgi.com/projects/kgdb/上了解具體的使用方法。
Siemens Simatic S5 WF706 6FM1706-3AB20 6FM1-706-3AB20
Siemens Simatic S5 454 6ES5-454-4UA12 6ES5454-4UA12 NEU
Siemens Simatic Operator Panel OP35 6AV3535-1TA0a1-0?AX0
Siemens Simatic Operator Panel OP35 6AV3535-1TA01-0?AX0
Siemens S7 TP270 6AV6545-0CA10-0?AX0 6AV6-545-0CA10-?0AX0
Siemens Simatic Panel OP25 6AV3525-1EA01-0?AX0
Siemens Simatic Panel OP25 6AV3525-1EA01-0?AX0
Siemens S7 6ES7321-1BL00-0?AA0 6ES7-321-1BL00-?0AA0 NEW
Siemens S7 6ES7322-1BL00-0?AA0 6ES7-322-1BL00-?0AA0 NEW
?
請(qǐng)輸入賬號(hào)
請(qǐng)輸入密碼
請(qǐng)輸驗(yàn)證碼
以上信息由企業(yè)自行提供,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),儀表網(wǎng)對(duì)此不承擔(dān)任何保證責(zé)任。
溫馨提示:為規(guī)避購(gòu)買(mǎi)風(fēng)險(xiǎn),建議您在購(gòu)買(mǎi)產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。