Texas Instruments(LUMINARY MICRO)社 Cortex-M3 MCU LM3S8962 マクロプロセッサ評価ボード EKI-LM3S8962 を、暇をみつけていじっています。
現在、引き続き、IAR Embedded Workbench のサンプルプログラムを、GNU gcc で作りなおしています。
1.Luminary Micro, Inc.サンプルプログラム。
・「sd_card」 SDカードのサンプルプログラム
・「enet_lwip」Ethernet接続のサンプルプログラム
・「qs_ek-lm3s8962」この評価ボードにインストールされていた、ゲームプログラム
このうち、「sd_card」は、所定の動作を確認できました。
「enet_lwip」、「qs_ek-lm3s8962」については、Ethernetの割り込みの動作が不全で、今のところ、Ethernet、割り込みおよび、システム系の初期化関数等を点検しています。
特に、これらのサンプルソースにある"#ifdef"文の挙動をチェックしています。
2.Luminary Micro, Inc.サンプルソースの手直し。
1)cpu.s の編集
arm-elf-as による、アセンブラコンパイルでエラーが起こる。エラーメッセージは、コメント行が不正と判断されている。
このソースファイルについては、#include "../asmdefs.h" と C言語ライクなコメントに違和感を感じています。
(対応するコンパイルオプションがあるのでしょうか?)
ひとまず。
①全コメント行を削除。
② asmdefs.h の内容で、cpu.s を書き換える。
セクション << The defines required for GCC.>> の #define文の内容で 書き換える。
例 #define __EXPORT__ .globl (asmdefs.h)
__EXPORT__ CPUcpsid を .globl CPUcpsid に書き換える。
-------------cpu.s-書き換え前-(コメント削除済み)------------------
#include "../asmdefs.h"
__LIBRARY__ __lib_cpu
__TEXT_NOROOT__
__EXPORT__ CPUcpsid
__THUMB_LABEL__
CPUcpsid __LABEL__
mrs r0, PRIMASK
cpsid i
bx lr
__EXPORT__ CPUcpsie
__THUMB_LABEL__
CPUcpsie __LABEL__
mrs r0, PRIMASK
cpsie i
bx lr
__EXPORT__ CPUwfi
__THUMB_LABEL__
CPUwfi __LABEL__
wfi
bx lr
__END__
-------------cpu.s-書き換え後-------------------
.syntax unified
.thumb
@ __lib_cpu
.text
.globl CPUcpsid
.thumb_func
CPUcpsid :
mrs r0, PRIMASK
cpsid i
bx lr
.globl CPUcpsie
.thumb_func
CPUcpsie :
mrs r0, PRIMASK
cpsie i
bx lr
.globl CPUwfi
.thumb_func
CPUwfi :
wfi
bx lr
.end
-------------cpu.s end----------------
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿