Re: Link step failed
|
||||
---|---|---|---|---|
版主
|
找了一個 dsPIC30F Peripheral 的教育訓練裡的Master I2C 的程式參考一下:
各項路徑是否有設錯,還有請將錯誤訊息貼上來一起找。 還有 MPLAB IDE v7.60 是不是可升級一下到 v8.0 以後。 Attach file: Link only for registered users
發表於: 2009/11/23 12:04
|
|||
|
Re: Link step failed
|
||||
---|---|---|---|---|
初級會員
|
有的
以下是我include的標頭檔 #include <p30f4011.h> #include <i2c.h>
發表於: 2009/11/23 11:41
|
|||
|
Re: Link step failed
|
||||
---|---|---|---|---|
版主
|
使用I2C 的函數庫也要加入I2C 的定義的。檢查一下程式裡有 : #include <I2C.h> 的宣告嗎?
發表於: 2009/11/23 11:15
|
|||
|
Re: Link step failed
|
||||
---|---|---|---|---|
初級會員
|
在library files目錄下加上libp30F4011-coff.a
可是結果還是一樣的錯誤訊息@@" 另一個問題就是,如果是要加的話 為何使用同一個ic,之前使用其他函式庫就沒有這個問題? 照理說如果要加入lib的鏈結路徑的話 其他的函式庫使用應該也要加入?但卻可以使用??-.-a
發表於: 2009/11/23 10:58
|
|||
|
Re: Link step failed
|
||||
---|---|---|---|---|
版主
|
現在 dsPIC & PIC24 在 C30 的安裝時已經分家了,dsPIC30F 系列的 Library 檔案在底下的目錄:
請在 Project 裡加入 Libraries 的連結檔案,這樣 Linker 才會知道使用那的周邊函數庫的。 C:\Program Files\Microchip\MPLAB C30\lib\dsPIC30F\libp30F4011-coff.a
發表於: 2009/11/23 10:19
|
|||
|
Re: Link step failed
|
||||
---|---|---|---|---|
高級會員
|
我想應該是 Library 沒有加入
Program Files\Microchip\MPLAB C30\lib\libp30F4011-coff.a 加入試試看
發表於: 2009/11/23 9:21
|
|||
Austin
|
||||
|
Link step failed
|
||||
---|---|---|---|---|
初級會員
|
剛接觸dsPIC不久
我使用的是dsPIC30F4011和C30函式庫幫助軟體開發 mplab 7.60版 只是最近在試i2c的函式庫時,程式碼寫好 make時卻發生link step failed的問題 根據自己經驗和推測,應該是編譯器的鏈結沒有鏈結好 所以才會發生這種link error 錯誤訊息如下 D:\Program\Microcontroller\PIC30F\I2C\I2C_Master.o(.text+0x16): In function `Init_I2C': D:\Program\Microcontroller\PIC30F\I2C_Master\I2C_Master.c:41: undefined reference to `ConfigIntI2C' D:\Program\Microcontroller\PIC30F\I2C\I2C_Master.o(.text+0x1c):D:\Program\Microcontroller\PIC30F\I2C_Master\I2C_Master.c:42: undefined reference to `OpenI2C' Link step failed. BUILD FAILED: Fri Nov 20 20:02:49 2009 去相關路徑找出.h檔來看,也有相關的函式定義 有爬文找過文章,不過還是沒有很了解問題到底是什麼? 我也有用過其他的函式庫如qei和adc 但都能成功編譯並燒錄測試完成 詳細過程如下 1.project開啟,並選擇自己所使用的pic型號(我是選dsPIC30F4011) 2.header files加入p30f4011.h 3.linker scripts加入p30f4011.gld 4.Source files加入所寫的.c檔 5.程式標頭檔加上所使用的函式庫名如#include <i2c.h> 大致是這樣 不懂為什麼使用qei.h和adc.h就沒有問題 而使用i2c.h就出現link step failed的問題 是還有什麼設定沒有設定好嗎? 如果是,那為什麼使用其他函式庫卻沒有這樣的問題? 請大家幫忙,不吝指教 感恩(_ _)
發表於: 2009/11/20 20:16
|
|||
|