音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

不跪不求,芝麻開門

作者:hotpower 欄目:ARM技術(shù)
不跪不求,芝麻開門
哈哈,自己研究已經(jīng)...

2個問題已解決1個...

2樓: >>參與討論
boy123
什么問題???
 
3樓: >>參與討論
云中月8888
恭喜....
恭喜hotpower!

4樓: >>參與討論
hotpower
暈到~~~在RV/C++下調(diào)用malloc()就死機
不知為何跑到SWI中斷中,中斷號0xab.故死機(死循環(huán)).


文件:main.cpp
#include <ARTX.h>
#include <LPC213x.H>    // PHILIPS Peripheral Registers
#include <LPC213xDEF.H>    //ARM菜鳥HotPower創(chuàng)建定義文件(新版)
#define __cplusplus
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "main.h"
...................


int main (void) {
int i, j, k;
CHAR * m;
  m = (CHAR *)malloc(10);//死機
  if (m == NULL) return 0;
  i = 1;
  j = 2;
  k = add (i, j);
  if (k == 0) return 0;
  os_sys_init (MainTask);//啟動ARTX,此函數(shù)并不返回main()
}



文件:SWI.S
;        /*------------------- User SWI -------------------------------*/

User_swi           STMDB   SP!,{R8,LR} ;SWI1~SWI7
                LDR     R8,SWI_Count
                CMP     R12,R8
                BCS     SWI_Dead;R12>R8,非法的SWI,直接退出
                ADR     R8,SWI_Table
                LDR     R12, [R8,R12,LSL #2]   ; Load SWI Function Address
                MOV     LR,PC
                BX      R12             ; Call SWI function
                LDMIA   SP!,{R8,PC}^;返回SWI命令調(diào)用處
;非法SWI命令在此處死機
SWI_Dead        B       SWI_Dead               ; None Existing SWI


5樓: >>參與討論
yyccaa
問一下
SWI_Count是多少,是malloc的大小嗎(就是10)?看起來malloc是用swi實現(xiàn)的,是不是malloc語句直接就跳到swi了?r12怎么來的,誰給它賦值的?
暫時沒接觸到在arm上用c++寫程序(菜鳥里的菜鳥了),不過c++里不是用new更多嗎?

6樓: >>參與討論
hotpower
new/malloc都不行
郁悶...自己重載new也不行...c是可以的.

7樓: >>參與討論
云中月8888
啟動代碼的問題?
keil給出的keil arm的啟動代碼和realview的啟動代碼不同,所以keil arm用malloc可以,realview不行

將啟動代碼中的:
    Heap_Size       EQU     0x00000000

改為:
    Heap_Size       EQU     0x00001000 ;根據(jù)需要設(shè)置

就可以了

啟動代碼堆的長度為0,當然不行了,進入realview自定義的swi中???  





* - 本貼最后修改時間:2006-2-18 22:00:05 修改者:云中月8888

8樓: >>參與討論
hotpower
謝謝云中月!!!
仔細看了RV的例子,啟動代碼和KARM有很大區(qū)別.

看來要學3種匯編了...KARM,ADS,Realview...暈到...

Realview的STARTUP.S



Realview的STARTUP.S


* - 本貼最后修改時間:2006-2-18 22:18:17 修改者:hotpower

9樓: >>參與討論
云中月8888
用數(shù)組比較好
用malloc如果處理不好,容易引起系統(tǒng)崩潰.
用數(shù)組簡單,安全,也不用關(guān)心啟動代碼

10樓: >>參與討論
hotpower
我主要是想發(fā)揮C++的優(yōu)勢
在C++中,一般肯定都用new/delete.

在C用處理字符串是件極為痛苦和郁悶的事情,故構(gòu)造String類是C++較C之"美德".

String s,s1,s2;
  s1 = "痛苦";
  s2 = "郁悶";
  s = s1 + s2;

哈哈,s即為"痛苦郁悶"...

總之,我這次玩ARM就是要玩C++,C早已沒興趣,也打動不了我的心.

我之所以首個選擇LPCARM,主要是有你們這些"暈友"...我玩的很開心...



11樓: >>參與討論
eleven11
C++的new/delete會不會引起內(nèi)存碎片?
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
ZLG-IP的數(shù)據(jù)接收的限制和更改方法
LPC2146電源設(shè)計
easyjtag沒法在arm realview的ADX下使用,該怎么辦?
大家在設(shè)計ARM應用板時,是采用四層板,還是雙面板
各位誰知道在AXD中如何將bin文件轉(zhuǎn)成axf文件啦?謝謝
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號