isesdk編譯不了靜態函數
1. xilinx公司的SDK中,不能識別usleep函數
需要包含這個 sleep。h
#include "sleep.h"
如果沒有,就看看你的soc組件中添加定時器timer沒有
2. 是不是如果ModelSim的安裝路徑裡面有空格,就會導致ISE庫編譯不成功
是的,modelsim和quartus一樣,安裝路徑不能有空格和英文,空格可以用下劃線代替
3. 怎麼用xilinx的sdk編譯和使用ne10
理論上,用xilinx的SDK編譯了Ne10這個庫(NEON來寫庫函數),就可以使用Ne10的函數了。
開發板有詳細的PDF文檔介紹的,spartan6的開發板就有。
4. ise怎樣編譯
寫好項目,文件之後,在左側的Sources 點擊主文件,下框自動顯示Processes,請點擊Implement Design的 「+」 , 再右擊 Implement Design, 選擇 Run, Rerun 或者 Run All 即可!(參考版本Ise-V10.1)
5. 程序編譯成動態庫能正常運行而靜態庫卻不行!
我感覺問題不太清楚呢,有如下疑問。
1. 樓主是用的BREW4.0或之前的版本來開發的嗎?還是用的最新的Brew MP?
2. 用的模擬器還是下載到設備?
3. 一般不需要自己寫makefile 啊,因為開發brew app有很多固有的框架代碼,這些一般都由IDE上的插件幫忙生成,而且不需要自己構造命令編譯連接的。
我的開發環境是: VC6.0 sp6 + BREW sdk4.0 + ADS1.2 這個可以生成mod下載到手中。
還有另外一個環境:VC2008 + Brew MP 5.0 這個只能在模擬器上測試。
首先,如果不是Brew MP的話,要把程序做成靜態的只能和手機的代碼一起編譯成rom,下載到手機中,這個不能在模擬器上調試。
Brew MP封裝了OEM也就是我們無法直接修改手機代碼,所以它提供了上層編寫靜態程序的方法。
所以有些不太清楚你遇到的是那種情況。
一般來說MALLOC掛掉是分配的太大,這種情況很少,除非我故意去測試,真正開發的時候從來沒有遇到過,而且跟手機代碼一起開發的時候是可以用標准函數malloc的。也可以使用全局變數或靜態變數,動態的不可以。
說到makefile,編譯mod文件一用自己寫,尤其是用VC的時候,brew的插件幫我們寫好了,只要點一下就能進行ARM編譯和鏈接,即使是用ADS來編譯,也不需要自己寫。
有問題再聯系吧
6. xilinx ise編譯時出現的error
是scl這個信號出現了多個驅動的原因,你看看是不是在兩個always快裡面對scl進行賦值了呢.
7. 如何在android studio中用JNI調用靜態庫
Android.mk文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := static_add
LOCAL_SRC_FILES := libstatic_add.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := share_add
LOCAL_SRC_FILES := hello-jni.c
LOCAL_STATIC_LIBRARIES := static_add
LOCAL_C_INCLUDES := $(LOCAL_PATH)/jni/app/src/main/jni
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
LOCAL_STATIC_LIBRARIES := static_add
這一行換成:
LOCAL_LDLIBS += -lstatic_add
或者
LOCAL_LDFLAGS += $(LOCAL_PATH)/libstatic_add.a(可以任意指定路徑)