yo[Wz
@1.0.0

yTvz
@ISSڑc[iDeviceManagerjDeviceManagerpɊgꂽ
@ISSiSkyEyejɂč\}`vZbTV~[VłB
@SkyEyeɂ͈ȉ̊gĂ܂B
@EISSԂ̒ʐM𒇉@\̒ǉ
@E@\̒ǉ
@EsÕIIt@\̒ǉ

yCZXz
@SkyEyeFGPLCZX
@DeviceManagerFTOPPERSCZX(http://www.toppers.jp/license.html)
@
yfBNg\z

@{pbP[W̃fBNg\͑܂Ɉȉ̂悤ɂȂĂ܂B

./bin/
./skyeye-conf.txt 
	skyeye.conf̃}jA
./skyeye-1.2.4_DevMExFGPLCZX
	SkyEye\[XR[h
./devicemanagerFTOPPERSCZX
	DeviceManager\[XR[h

skyeye.exe
	\ASP,FMPJ[l삷ISSiSkyEyej
	@CygwinŎs
          DeviceManagergo[W2.0.0

devicemanager.exe
	\ISSڑc[ifoCX}l[Wj
	@KvɎIɋNA^XNgCɏ풓
          o[W2.0.0
devicemanagerps.dll
	\devicemanager.exeŎgp郉Cu
          o[W2.0.0
regist.bat
	\foCX}l[W̃CXg[pob`t@C


yz
@SkyEye̎sASPCFMP̃rhɂCygwiñCXg[KvłBCygwin
CXg[ȉ̃pbP[WCXg[ĉB

Emake
Egcc
Eg++
Eboost
Eperl

@܂Aarmp̃NXRpCCXg[Kv܂B

http://www.embedded.jp/gnuwing/index.html

ySkyEyẽRpC@z
1:skyeye-1.2.4_DevMEx/makes
2:skyeye-1.2.4_DevMEx/utils/com/makes

skyeye-1.2.4_DevMEx/utils/com/skyeye.exe܂B

Fꂽskyeye.exebin/skyeye.exeɂ܂B

yCXg[@z

@bin/regist.batsi_uNbNjƃfoCX}l[W̃C
Xg[s܂BCXg[̓foCX}l[WWindows̃WX
gɓo^邱Ƃōs܂BƁudevicemanagerps.dll
DllRegisterServer͐܂BvƂbZ[W{bNX\
܂BCXg[ɐWindowsċNĉBt@C̎
sȂregist.bat̎sɃG[ɂȂ̂ŁAst
ēxsĉB
@܂Askyeye.exeCygwiñpXɒʂĉB

ygp@z

ASPJ[l̃V~[V@

@ASPJ[lskyeye.exeŃV~[V\łBV~[V
ɂARMp̃oCit@Ciasp.exej̑ɁAskyeye.confƂSkyEye
̐ݒt@CKvɂȂ܂Cskyeye.confASPJ[l̃pbP[
WɊ܂܂Ă܂i./asp+tecs/target/at91skyeye_gcc/skyeye.confjD
ASPJ[l[UvOƃNasp.exe쐬ĂC
skyeye.confasp.exeuĂfBNgɃRs[ĉB
Cygwinasp.exeskyeye.conffBNgɈړC
ȉ̃R}hsƃV~[VJn܂B

> skyeye.exe -e asp.exe -c skyeye.conf

V~[V̏ICtrl+CɂsĉB

FMPJ[l̃V~[V@

@FMPJ[lskyeye.exeŃV~[V\łBV~[V
ɂARMp̃oCit@Cifmp.exej̑ɁASkyEye̐ݒt@C
vZbTKvɂȂ܂CFMPJ[l̃pbP[Wɂ2vZbTp
ݒt@C܂܂Ă܂i./fmp/target/at91skyeye_gcc/skyeye_pe1.confC
skyeye_pe2.confjBFMPJ[l[UvOƃNfmp.exe
쐬ĂCݒt@Cfmp.exeuĂfBNgɃRs[
ĉBCygwinfmp.exeskyeye_pe1.confCskyeye_pe2.conf
fBNgɈړCȉ̃R}hsĂB

> skyeye.exe -e fmp.exe -c skyeye_pe1.conf

PCygwinJCfmp.exeuĂ
fBNgɈړCȉ̃R}hsĂB

> skyeye.exe -e fmp.exe -c skyeye_pe2.conf

V~[V̏ICtrl+CɂsĉB

GDBfobO@

 SkyEyeGDBɂfobO\łB2vZbTpFMPJ[l
܂Bfmp.exeCskyeye_pe1.confCskyeye_pe2.conffBNg
ňȉGDBt@Cigdb_pe1.iniCgdb_pe2.inijpӂĂB

#gdb_pe1.ini
target remote localhost:1234
load

#gdb_pe2.ini
target remote localhost:1235
load 

CygwinQJCfmp.exefBNgɈړCȉ̃R}h
͂āCSkyEyefobO[hŎsĂB

>skyeye.exe -c skyeye_pe1.conf -d

Cygwin
>skyeye.exe -c skyeye_pe2.conf -d

VCygwin2JCfmp.exefBNgɈړCȉ̃R}h
͂āCGDBsĂB

>arm-elf-gdb -x gdb_pe1.ini fmp.exe

Cygwin
>arm-elf-gdb -x gdb_pe2.ini fmp.exe

ꂼ̃fobKcontinueɂJ[lX^[gĂB

yACXg[@z

@bin/unregist.batsi_uNbNjƃfoCX}l[W̃A
CXg[s܂BƁudevicemanagerps.dll
DllUnregisterServer͐܂BvƂbZ[W{bNX\
܂B

yfoCX}l[WAPIz

@foCX}l[WAPI͈ȉ̂悤ɂȂĂ܂BŃ}X^Ƃ
SkyEyẽ\tgEFAV~[^AX[uƂHDLV~[^̃n
[hEFAV~[^w܂B

1. }X^C^tF[X

   Read(unsigned long address,unsigned long size, byte data [])
   Write(unsigned long address,unsigned long size, byte data [])
@}X^Ǎ/ݗv󂯎DANZX͈͂address n
܂size oCg̗̈łD󂯎v͓K؂ȃX[uɁCOnRead/
OnWrite gēnD

   RaiseInterrupt(unsigned long inhno)
@}X^犄ݔԍinhno ̊ݗv󂯎D󂯎
͓K؂ȃ}X^ɁCOnInterruptRequest gēnD

   OnInterruptRequest(unsigned long inhno)
@}X^Ɋݔԍinhno ̊ݗvnD

   Map(unsigned long id)
@}X^vZbTID ėv󂯎D

   Unmap(unsigned long id)
@}X^vZbTID ĉv󂯎D

   CreateSharedMemory(unsigned long address, unsigned long size, BSTR lpName)
@}X^狤L쐬v󂯎DlpName ƂOsize o
Cg̋L쐬Caddress n܂size oCg̃AhẌ
Ƀ}bsOD

   ReleaseSharedMemory(BSTR lpName)
@}X^lpName ƂŐL̉v󂯎D

   CreateSharedMemoryAnyName(unsigned long address, unsigned long size, BSTR * lpName)
@}X^狤L쐬v󂯎DŗL̖Otsize oC
g̋L쐬Caddress n܂size oCg̃AhẌ
}bsODɁCtOlpName ɃRs[D

   CreateMutex(unsigned long number, BSTR * lpName)
@}X^~[ebNX쐬v󂯎Dnumber ŗL̖O
tă~[ebNX쐬CtOlpName ɃRs[D

   CloseMutex(unsigned long number)
@}X^~[ebNX폜v󂯎D


2. X[uC^tF[X

   OnRead(long address, long size, byte data [])
   OnWrite(long address, long size, byte data [])
@X[uɓǍ/ݗvnD̈ӖRead/Write Ɠ
D

   RaiseInterrupt(unsigned long inhno)
@X[u犄ݗv󂯎D󂯎v͓K؂ȃ}X^ɁC
OnInterruptRequest gēnD

   Map(unsigned long address, unsigned long size)
@X[uAhX}bsOv󂯎DX[ugaddress
n܂size oCg̃AhẌS邱Ƃm点D

   Unmap(unsigned long address)
@X[uAhXA}bsOv󂯎DX[ug
address ܂ރAhẌ̒SI邱Ƃm点D

   CreateSharedMemory(unsigned long address, unsigned long size, BSTR lpName)
   ReleaseSharedMemory(BSTR lpName)
   CreateSharedMemoryAnyName(unsigned long address, unsigned long size, BSTR * lpName)
   CreateMutex(unsigned long number, BSTR * lpName)
   CloseMutex(unsigned long number)
@}X^̓̃C^tF[XɓD
