|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
有在lpc2200系列移植vxworks的嗎? |
| 作者:db10 欄目:ARM技術 |
最近項目里可能要玩玩這個系統(tǒng),可是我還是第一次用這個讓我覺得神的操作系統(tǒng)?梢越涣! |
| 2樓: | >>參與討論 |
| 作者: dahanzk 于 2006/5/6 11:52:00 發(fā)布:
嘗試過,但后來因為項目變動沒有做完 因為當時沒有使用專門的調(diào)試BSP的工具,只能靠點燈和跟蹤匯編代碼來調(diào)試,有些痛苦。感覺比較難的部分是把LPC系列的中斷系統(tǒng)和vxworks結合起來。串口部分也要費些心神。整個過程會讓你獲益良多。 |
|
| 3樓: | >>參與討論 |
| 作者: db10 于 2006/5/17 12:59:00 發(fā)布:
沒人頂阿 |
|
| 4樓: | >>參與討論 |
| 作者: db10 于 2006/5/21 22:58:00 發(fā)布:
看來沒有多少人在上面用過!?? |
|
| 5樓: | >>參與討論 |
| 作者: efly_gg 于 2006/5/21 23:02:00 發(fā)布:
(: 一直在想試試 因為手上有個周公的板子閑置著 在公司目前是在arm9上跑的 希望大家把這個內(nèi)容太論開 |
|
| 6樓: | >>參與討論 |
| 作者: db10 于 2006/5/21 23:33:00 發(fā)布:
efly_gg 是的,應該用用,俺現(xiàn)在準備開始用。 |
|
| 7樓: | >>參與討論 |
| 作者: lpcfans 于 2006/5/22 8:01:00 發(fā)布:
幫頂........... |
|
| 8樓: | >>參與討論 |
| 作者: cmos2345 于 2006/5/24 21:10:00 發(fā)布:
經(jīng)過實踐,不行! vxworks5.5 for arm固定把中斷向量表放在內(nèi)存0x100開始的地方,而LPC的這一段空間是不可寫的。所以,在系統(tǒng)初始化中斷向量表時會引起數(shù)據(jù)中止異常。要修改中斷向量表存放的地址才能運行通過。而中斷向量表已經(jīng)被編譯好放在target\lib目錄中的某一個(具體是哪一個我不記得了)lib文件中了。這就是說要有vxworks for arm的源碼才能修改。 |
|
| 9樓: | >>參與討論 |
| 作者: dahanzk 于 2006/5/25 9:29:00 發(fā)布:
樓上說的有道理,但,是可以改的。 樓上說的問題是BSP里遇到的第一個難點,但可以改過去的,需要在某個.s文件加上初始化中斷向量表的匯編代碼,可以調(diào)試通過的。找找當時改動的程序后,貼上來。 * - 本貼最后修改時間:2006-5-25 9:38:02 修改者:dahanzk |
|
| 10樓: | >>參與討論 |
| 作者: dahanzk 于 2006/5/26 11:26:00 發(fā)布:
Vxworks下LPC22XX BSP中的中斷修改如下: 在sysAlib.s中增加如下代碼: (1) .globl FUNC(armInitExp) /* own code for armInitExceptionModes()---zk */ _ARM_FUNCTION(armInitExp) MRS R0, CPSR BIC R1, R0, #63 ORR R1, R1, #128 ORR R2, R1, #27 MSR CPSR_fc, r2 ldr sp, [pc, #-44] orr r2, r1, #23 msr CPSR_fc, r2 ldr sp, [pc, #-52] orr r2, r1, #18 msr CPSR_fc, r2 ldr sp, [pc, #-56] msr CPSR_fc, r0 mov r1, #0 stmdb sp!, {r1} ldmia sp, {sp}^ nop add sp, sp, #4 mov pc, lr (2):在bootConfig.c中增加或改變?nèi)缦麓a #define LPC_EXC_VEC_BASE 0x81000100 void lpc22xxExcVecSet(void) { int i; /*i = (int)&excEnterUndef;*/ i = 0x04; *((volatile int*)(LPC_EXC_VEC_BASE + 0x0)) = i; /*i = (int)&excEnterSwi;*/ i = 0x08; *((volatile int*)(LPC_EXC_VEC_BASE + 0x4)) = i; /*i = (int)&excEnterPrefetchAbort;*/ i = 0x0c; *((volatile int*)(LPC_EXC_VEC_BASE + 0x8)) = i; /*i = (int)&excEnterDataAbort;*/ i = 0x10; *((volatile int*)(LPC_EXC_VEC_BASE + 0xc)) = i; /*i = (int)&intEnt;*/ i = 0x18; *((volatile int*)(LPC_EXC_VEC_BASE + 0x14)) = i; } STATUS myExcVecInit(void) { FAST int i; armInitExp(); /* for(i=0;i<NUM_EXC_VECS;++i) { *(UINT32 *)excEnterTbl[i].vecAddr = 0xE59FF000 | (LPC_EXC_VEC_BASE - 8 - FIRST_VECTOR); *(VOIDFUNCPTR *)(excEnterTbl[i].vecAddr + LPC_EXC_VEC_BASE - FIRST_VECTOR) = excEnterTbl[i].fn; } *(UINT32 *)LPC_EXC_VEC_BASE = 0xE7FDDEFE; CACHE_TEXT_UPDATE(LPC_EXC_VEC_BASE, EXC_OFF_IRQ + 4); _func_armIrqHandler = excIntHandle; */ lpc22xxExcVecSet(); return OK; } 以上是往LPC22XX移植VxWorks遇到的第一個難點,也是最難的。 |
|
| 11樓: | >>參與討論 |
| 作者: chengxupin 于 2006/5/26 16:31:00 發(fā)布:
lpc2200跑VXWORKS 我對VXWORKS修改了一通,中斷已改,串口通信成功,現(xiàn)在要加入網(wǎng)卡驅(qū)動程序,沒有時間,停在那。。。。(BOOT程序) |
|
| 12樓: | >>參與討論 |
| 作者: db10 于 2006/7/9 12:48:00 發(fā)布:
dahanzk 能否將你的文件發(fā)給我看看,謝謝! |
|
| 13樓: | >>參與討論 |
| 作者: db10 于 2006/7/11 12:58:00 發(fā)布:
chengxupin和dahanzk 怎么聯(lián)系你們? |
|
| 14樓: | >>參與討論 |
| 作者: aah 于 2006/7/11 13:06:00 發(fā)布:
dahanzk@hotmail.com 不上QQ~~ |
|
| 15樓: | >>參與討論 |
| 作者: db10 于 2006/7/11 13:29:00 發(fā)布:
OK |
|
| 16樓: | >>參與討論 |
| 作者: oe01 于 2006/11/11 16:24:00 發(fā)布:
^_^ 本人小碩,最近買了smartarm2200,想移植vxworks,不值該如何入門,能否給小弟指點一二? |
|
| 17樓: | >>參與討論 |
| 作者: limingchzz 于 2006/12/17 11:16:00 發(fā)布:
LPC2210 VXWORKS上電復位不成功 小弟在EasyARM2210上移植了VXWORKS但上電復位不成功,只能通過JTAG來復位, 眾位看看是什么原因? |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |