======================================================================== | |
QuaterDeck Initialization called by BSP | |
======================================================================== | |
Initialization Sample Program will show how to initialize the QuaterDeck | |
Driver/Device. | |
This Sample includes the following files: | |
- msApiInit.c | |
- qdSim.c | |
- qdSimRegs.h | |
- ev96122mii.c | |
- osSem.c | |
msApiInit.c | |
qdStart is the main function of this Sample and does the followings: | |
1) register the required functions.(gtRegister API) | |
1.1) readMii - BSP specific MII read function | |
(provided by BSP and required by all QuarterDeck API) | |
1.2) writeMii - BSP specific MII write function | |
(provided by BSP and required by all QuarterDeck API) | |
1.3) semCreate - OS specific semaphore create function. | |
(provided by BSP and recommanded by QuarterDeck MAC | |
address database API) | |
1.4) semDelete - OS specific semaphore delete function. | |
(provided by BSP and recommanded by QuarterDeck MAC | |
address database API) | |
1.5) semTake - OS specific semaphore take function. | |
(provided by BSP and recommanded by QuarterDeck MAC | |
address database API) | |
1.6) semGive - OS specific semaphore give function. | |
(provided by BSP and recommanded by QuarterDeck MAC | |
address database API) | |
Notes) The given example will use EV96122 BSP and QuarterDeck Simulator | |
as an example. | |
2) Initialize BSP provided routine (if required). | |
Notes) QuarterDeck Simulator needs to be initialized.(qdSimInit) | |
3) Calls sysConfig routine. | |
1.1) Input (GT_SYS_CONFIG) - CPU Port Number (Board Specific, | |
either port 5 or port 6) and Port state (either 1 for Forwarding mode | |
or 0 for Blocked mode) | |
1.2) Output (GT_SYS_INFO) - Device ID, Base MII Address (either 0 or | |
0x10), Number of Ports, and CPU port number. | |
4) Calls sysEnable (for future use.) | |
qdSim.c (QuaterDeck Simulator) | |
Simulates QuaterDeck Device(88E6052)'s register map. When QuareterDeck API | |
try to read/write a bit or bits into QuaterDeck, the simulator will | |
redirect to its own memory place and performing the function very close to | |
QuaterDeck. For example, | |
1) user can set/reset a certain bit of QuarterDeck registers | |
(Phy,Port,and General registers). | |
2) user can access ATU (flush, load, purge, etc. with max MAC addresses | |
of 32) | |
3) user can manually generate an Interrupt and test the Interrupt routine. | |
4) when user read a register, it will clear a certain register if it's a | |
Self Clear register. | |
5) when user write a register, it will return ERROR if it's read only | |
register. | |
Notes) Simulator can be used when user has no QuarterDeck device connected Board. | |
Exported routines are : | |
qdSimRead for reading MII registers, | |
qdSimWrite for writing to MII registers, and | |
qdSimInit for initializing Simulator. | |
ev96122mii.c | |
Provides EV-96122 Board specific MII access functions. | |
Exported routines are : | |
gtBspReadMii for reading MII registers, | |
gtBspWriteMii for writing to MII registers, and | |
gtBspMiiInit for initializing EV-96122 and QuarterDeck connection. | |
osSem.c | |
Provides OS specific Semapore Functions. | |
Exported routines are : | |
osSemCreate for semaphore creation | |
osSemDelete for semaphore deletion | |
osSemWait for taking semaphore | |
osSemSignal for releasing semaphore |