[Armadillo:08003] Re: Armadillo-420でUSBインターフェースからのUSBデバイス供給電源をPMICに変更したい。

Takenoshita Koyo email@hidden
2012年 4月 20日 (金) 18:29:49 JST


竹之下です。

> お問合せした件についてはこの方法がすごく良いと思いますが、
> 今後どうしても、CPUのレジスタ操作を直接行いたい場合など
> mmap()関数を使用したいときは<asm/page.h>をインクルードしたいので、
> (最終手段としてできるようにしておきたい)
> コンパイルのエラーについては解決策は無いでしょうか?
<asm/page.h>をインクルードすることで、参照したい定義は何でしょうか?

>> ../atmark-dist/include/asm/arch/mxc.h:28: error: expected
>> specifier-qualifier-list before ‘u32’
u32が定義されていない??

/dev/memを通して、mmap()を使ってカーネル空間のアドレスにアクセスする事例は
下記にHowtoがありますので、参考にしてください。

Howto : アプリケーションから任意のメモリ空間をアクセスする
http://armadillo.atmark-techno.com/howto/accessing-any-address

(2012年04月19日 11:12), 埼広 村上 wrote:
> 村上です。
> 回答ありがとうございます。
> 
> 起動時からPMIC出力がベストだったので、教えて頂いた
> linux-2.6.26-at/arch/arm/mach-mx25/board-armadillo400.h
>> #define USB_PWRSRC USB_PWRSRC_VIN
>> #define USB_PWRSRC USB_PWRSRC_5V
> に変えて、カーネルをビルドしなおすことで対応します。
> 
> お問合せした件についてはこの方法がすごく良いと思いますが、
> 今後どうしても、CPUのレジスタ操作を直接行いたい場合など
> mmap()関数を使用したいときは<asm/page.h>をインクルードしたいので、
> (最終手段としてできるようにしておきたい)
> コンパイルのエラーについては解決策は無いでしょうか?
> 
> Linuxを使用する上でアプリから直接レジスタ操作を行うのは
> 適切ではないと判っていますが、出来るようにしておきたいので
> ご教授願います。
> 
> 以上、よろしくお願い致します。
> 
> 
> 
> 竹之下です。
> 
> Armadillo-420の動作中に、動的にPMIC出力への変更が必要ですか?
> 
> もし、起動時からPMIC出力となっていても良いのであれば、
> 
> linux-2.6.26-at/arch/arm/mach-mx25/board-armadillo400.h
>> #define USB_PWRSRC USB_PWRSRC_VIN
>> #define USB_PWRSRC USB_PWRSRC_5V
> に変えて、カーネルをビルドしなおすことで、PMICからの出力を使うように
> なります。
> 
> (2012年04月15日 21:21), 埼広 村上 wrote:
>> お世話になります。村上と申します。
>>
>> 以下の目的を実施するため、作ったプログラムでエラーが出ます。
>> ヘッダファイルなどの情報が不足しているのでしょうか?
>> 何処を修正すればよいか、ご教授願います。
>>
>> 【目的】
>> Armadillo-420のUSBインターフェースからUSBデバイスに
>> 供給する電源をPMICで生成される+5Vにしたい。
>>
>> 【理由】
>> A420本体への供給電源が一時的にドロップして、4.75V以下になった場合も
>> USBデバイスへ安定して+5Vを供給したい。
>>
>> 【環境】
>> ◆Armadillo-420
>> ◆開発環境:VMware ATDE3
>>
>> 【作ったプログラム】
>> mmap()関数でCPUのGPIO3_26を直接操作
>> その為、<asm/page.h>をインクルード
>>
>> 【コンパイルで出るエラー】
>> <asm/page.h>をインクルードすると以下のエラーが出ます。
>>
>>
>> arm-linux-gnueabi-gcc -c -O2 -I/usr/arm-linux-gnueabi/include
>> -I/usr/lib/gcc/arm-linux-gnueabi/4.3.2//include -isystem
>> /usr/lib/gcc/arm-linux-gnueabi/4.3.2//include-fixed -Dlinux -D__linux__
>> -Dunix -DEMBED -idirafter ./atmark-dist/include -Wall -fno-common
>> -I../atmark-dist -I../atmark-dist//include -o a420_ioctl.o a420_ioctl.c
>> In file included from ../atmark-dist/include/asm/arch/hardware.h:115,
>> from ../atmark-dist/include/asm/hardware.h:16,
>> from ../atmark-dist/include/asm/arch/memory.h:14,
>> from ../atmark-dist/include/asm/memory.h:27,
>> from ../atmark-dist/include/asm/page.h:186,
>> from a420_ioctl.c:29:
>> ../atmark-dist/include/asm/arch/mxc.h:28: error: expected
>> specifier-qualifier-list before ‘u32’
>> ../atmark-dist/include/asm/arch/mxc.h:80: error: expected
>> specifier-qualifier-list before ‘u32’
>> ../atmark-dist/include/asm/arch/mxc.h:87: error: expected ‘)’ before 
>> ‘num’
>> ../atmark-dist/include/asm/arch/mxc.h:88: error: expected ‘)’ before 
>> ‘num’
>> ../atmark-dist/include/asm/arch/mxc.h:188: error: expected
>> specifier-qualifier-list before ‘u32’
>> ../atmark-dist/include/asm/arch/mxc.h:196: error: expected
>> specifier-qualifier-list before ‘u32’
>> In file included from ../atmark-dist/include/asm/page.h:186,
>> from a420_ioctl.c:29:
>> ../atmark-dist/include/asm/memory.h:191: error: expected ‘=’, ‘,’, ‘;’,
>> ‘asm’ or ‘__attribute__’ before ‘unsigned’
>> ../atmark-dist/include/asm/memory.h:196: error: expected ‘=’, ‘,’, ‘;’,
>> ‘asm’ or ‘__attribute__’ before ‘void’
>> make: *** [a420_ioctl.o] エラー 1
>>
>>
>>
>>
>> ATDE2ですが、Armadillo-210用のプログラムで
>> <asm/page.h>をインクルードしてもこのようなエラーは出ませんでした。
>>
>> 以上、よろしくお願い致します。
>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
> 
> 


-- 
Koyo Takenoshita




armadillo メーリングリストの案内