|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
VXWORKS下Webserver的移植 |
| 作者:hgchenkv 欄目:ARM技術(shù) |
各位高手好,小弟最近在學(xué)習(xí)VXWORKS下Webserver的移植,借助網(wǎng)上的指導(dǎo)資料一步步實(shí)驗(yàn),但遇到以下問題:在步驟 加入編譯選項(xiàng)時(shí) -DWEBS -DUEMF -DOS="VXWORKS" -DVXWORKS -DWEBS_PAGE_ROM 我想問一下各位是把這些編譯選項(xiàng)加到哪個(gè)地方? 我在實(shí)驗(yàn)時(shí)是加到Webserver 工程下的Makefile文件里的CFLAGS 的定義中的,但是在我編譯之后它又恢復(fù)到原來沒有修改前的狀態(tài)了,直接導(dǎo)致我的編譯步驟不能成功,請各位高手幫忙指點(diǎn),謝謝! |
| 2樓: | >>參與討論 |
| 作者: hgchenkv 于 2007/1/2 13:49:00 發(fā)布:
重復(fù)祥述問題,請各位高手幫忙! 各位大哥: 通過在網(wǎng)上查找資料,參考別人的開發(fā)經(jīng)歷,我按照以下步驟做Gohead Webserver在VxWorks上的移植實(shí)驗(yàn): (1)創(chuàng)建VxWorks環(huán)境 ①安裝Tornado 2.2 for ARM,修改BSP(一個(gè)師兄調(diào)試成功的)。 ②創(chuàng)建一個(gè)bootable工程,取名為webserver (2)制作網(wǎng)頁文件 ①安裝Microsoft Visual C++ 6.0 ②打開D:\ws031202/WIN/webcomp.dsp ③編譯生成webcomp.exe文件 ④制作filelist.txt文件,將要用到的網(wǎng)頁的目錄和文件名以文本方式羅列如下: D:\ws031202/web/FAQ.htm D:\ws031202/web/about.htm D:\ws031202/web/addgroup.asp …… ⑤使用GoAhead工具webcomp將網(wǎng)頁編譯成webrom.c文件,最后與其它源碼一起編譯進(jìn)可執(zhí)行映像中。在DOS命令行下,使用webcomp D:\ws031202/web filelist.txt > webrom.c 即可實(shí)現(xiàn)。此時(shí)webrom.c中主要內(nèi)容應(yīng)當(dāng)為: websRomPageIndexType websRomPageIndex[] = { { T("/FAQ.htm"), page_0, 9637 }, { T("/about.htm"), page_1, 4353 }, { T("/addgroup.asp"), page_2, 933 }, ……}; (3)編譯webserver工程 ①在工程中添加D:\ws031202下的所有.c和.h文件,以及D:\ws031202/VXWORKS下的所有.c和.h文件 注意:添加的webrom.c應(yīng)是上一步生成webrom.c。 ②修改main.c文件,設(shè)置根目錄為: #define ROOT_DIR T("/D:/ws031202/web/")(問題1:請問在這里修改成這樣的根目錄對嗎,小弟不太確定) static char_t *rootWeb = T("/D:/ws031202/web/");/* Root web directory */ 注意:這里的目錄設(shè)定應(yīng)當(dāng)與webrom.c中的目錄相對應(yīng)。 ③修改工程中的usrAppInit.c文件,在usrAppInit()函數(shù)中添加“taskSpawn("tweb",90,0x100,2000,websvxmain,0,0,0,0, 0,0,0,0,0,0);”用于啟動(dòng)GoAhead WebServer任務(wù)。 ④參考D:\ws031202/VXWORKS/Makefile來修改工程的編譯選項(xiàng)。在Makefile中增加定義-DWEBS-DUEMF-DOS="VXWORKS"- DVXWORKS -DWEBS_PAGE_ROM,其中-DWEBS_PAGE_ROM表明網(wǎng)頁存儲(chǔ)在ROM中。 如果需要增加用戶管理、存取控制支持等功能,則還需要增加下列定義:-DUSER_MANAGEMENT_SUPPORT和-DDIGEST_ACCESS _SUPPORT。(問題2:我試著修改工程的Makefile文件,但每次在CONFLAG的定義后添加這些選項(xiàng)后保存完重新編譯工程,Makefile又恢復(fù)到了原來的狀態(tài)我就不太懂怎么回事了,好在我在工程目錄下的Builds標(biāo)簽里找到了C/C++ Compile選項(xiàng)卡在后邊添加這些編譯選項(xiàng)才使得Makefile修改成功,但在重新編譯的時(shí)候又出現(xiàn)了如下問題(我現(xiàn)在做的是沒有文件系統(tǒng)的移植):dcc -c -g -tARMTLS:vxworks55 -Xinterwork -Wa,-Xgnu-thumb -W:c:,-Xmismatch-warning=2 -ew155 4,1551,1552,1086,1047,1547 -Xclib-optim-off -Xansi -Xstrings-in-text=0 -Wa,-Xsemi-is-newli ne -ei1516,1643,1604 -Xlocal-data-area-static-only -Xsize-opt -DARMEL -I.. -ID:\Tornado2.2 \target\config\1601_tffs -ID:\Tornado2.2\target\h -ID:\Tornado2.2\target\config\comps\src -ID:\Tornado2.2\target\src\drv -DCPU=ARMARCH4_T -DTOOL_FAMILY=diab -DTOOL=diab -DPRJ_BUILD -Wcomment -DCPU_7TDMI_T -DARMMMU=ARMMMU_NONE -DARMCACHE=ARMCACHE_KS32C -DWEBS -DUEMF -DOS ="VXWORKS" -DVXWORKS -DWEBS_PAGE_ROM -DUSER_MANAGEMENT_SUPPORT -DDIGEST_ACCESS_SUPPORT -Xm emory-is-volatile ..\prjConfig.c -o prjConfig.o "D:\Tornado2.2\target\src\drv\tffs\tffsConfig.c", LINE 135: error (dcc:1633): parse error near '}' "D:\Tornado2.2\target\src\drv\tffs\tffsConfig.c", LINE 136: error (dcc:1221): don't know size of object make: *** [prjConfig.o] Error 0x1 Done.讓小弟的實(shí)驗(yàn)不能正常進(jìn)行了,懇請各位大哥能指點(diǎn)下謝謝!小 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |