lab report zeb a
DESCRIPTION
wfswfTRANSCRIPT
-
5/20/2018 Lab Report Zeb A
1/119
CEERI PILANI
LAB REPORT
REAL TIME EMBEDDED SYSTEM(AES-631)
Under Guidance of:
Dr. Kota Solomon Raju
Sh. Pramod Tanwar
Nancy
Submission Date: 1/4/2014
Submitted To:- Submitted By:-
Dr. kota Solomon Raju Zeba Khanam
(RCS & WSN Lab) PGRPE-13
-
5/20/2018 Lab Report Zeb A
2/119
Experiment No: 01
Objective: - Implementation of matrix operations by creating DKM, RTP images using
VxWorks.
Tools: - Wind River Workbench 2.5
Theory: Wind River Workbench is an Eclipse based development suite that provides an efficient
way to develop real time and embedded application with minimal intrusion on the target system.
Wind River workbench provides cross development tools to write a code for target hardware on
different system called Host. By cross development features we can write a code on system i.e.
Windows, linux etc. and produce application that run on hardware.
VxWorks Image project:Image Project(VIP) is used to configure, scale and build a VxWorks kernel to
boot the target. Using this type of project we can configure the kernel components as per the requirement
of the application and hardware. A VIP can be a complete application or can also contain projects of other
types like Downloadable Kernel Module (DKM), Real Time Process (RTP), Shared Libraries, VxWorks
ROMFS file system projects.
Downloadable Kernel Module Project:-this type of project to manage and build modules that will exist
in the kernel space. Using this feature we can separately build the modules,run and debug them on a targethardware/simulator running VxWorks, loading, unloading, and reloading on the fly. After completion of
application development, the module can be statically linked into the kernel or we can also use a file
system if one is present.
Real Time Process projects(RTP):- Vx Works Real Time process projects are used to manage and build
the modules that exist outside the kernel space. The RTP is stored in form of executable with extension
.vxe which can be build, run, debugged separately. A run-time, the executable file is downloaded to a
separate address space to run as an independent process. The binary produced from a VxWorks Real-time
Process project will need to be stored on a target-
-
5/20/2018 Lab Report Zeb A
3/119
Steps:-
Creating anVxWorks Image Project:-
1. Creating New VxWorks Image Project by going on new>VxWorks Image Project
1. Enter the project name proj_1 and select the project location.
-
5/20/2018 Lab Report Zeb A
4/119
2. For project setup select BSP as simpc and tool chain diab
3. For Options, configuration profile and static analysis leave the options as default.
-
5/20/2018 Lab Report Zeb A
5/119
4. By clicking on finish button; finish the image project creation
-
5/20/2018 Lab Report Zeb A
6/119
5. After finishing of VxWorks image project the application development window appear like
6. Kernel configuration. This exercise was executed on simulator so kernel configuration we only
includethe Real Time Process Component.
-
5/20/2018 Lab Report Zeb A
7/119
7. Rebuild. proj_1.
8. After successful build the following screen will appear
-
5/20/2018 Lab Report Zeb A
8/119
Creating a VxWorks Downloadable Kernel Module Project:
1. In the application development window click on file -> new -> VxWorks Downloadable Kernel
Module Project
2. Enter the project name mat_operation and leave other thing default
-
5/20/2018 Lab Report Zeb A
9/119
3. Project structure is used to create the subproject or to give the reference to the project.For this
problem leave things default.
4. Leave the Build setup and default and Build support opt ion default and click next.
-
5/20/2018 Lab Report Zeb A
10/119
5. Select the available build specifications. In this SIMNTdiabis selected for simulator. Optionally
I had chosen the debug mode. If target board is to be used then PPC32diab should be selected
for the available board
6.
Leave the Build target window with build tool linker as default
-
5/20/2018 Lab Report Zeb A
11/119
7. Leave the static analysis window checked as shown and click finish
8. Add the application program by right c licking on the mat_opeartion in project navigator -> new
->file
-
5/20/2018 Lab Report Zeb A
12/119
9. Enter the file name mat_oper.c
10.Write the application program in the mat_oper.c
-
5/20/2018 Lab Report Zeb A
13/119
11.Build the mat_operationproject
12.
After completion of build operation we get mat_operation.out file which can be directlydownloaded to the kernel
-
5/20/2018 Lab Report Zeb A
14/119
Starting simulator:-
1. In the application development window from the target management click on create a new
connection
2. Select Wind River VxWorks 6.x Simulation Connectionand click next
-
5/20/2018 Lab Report Zeb A
15/119
3. Copy the image file location to the VxWorks kernel image
-
5/20/2018 Lab Report Zeb A
16/119
4. Leave VxSim Memory option default and click next.
-
5/20/2018 Lab Report Zeb A
17/119
5. Leave VxWorks Simulator Miscellaneous options default and click next.
6. Leave Target server option default and click next.
-
5/20/2018 Lab Report Zeb A
18/119
7. Leave Object pathmappings default and click next.
8. Leave Target state refresh default and click next.
-
5/20/2018 Lab Report Zeb A
19/119
9. See the Connection Summary and click
10.After simulator setting simulator window open and Shell window appear.
11.Download mat_operation.out into simulator
-
5/20/2018 Lab Report Zeb A
20/119
12.Select SIMNT(VXSIM0) and click ok
13. In the simulator shell enter the function name matprtand press enter
14.Enter the matrix input values and observe the result
-
5/20/2018 Lab Report Zeb A
21/119
Creating a RTP (Real time process) project:-
1. In the application development window click on file -> new -> VxWorks Real Time Process
Project.
2. Create a project having name mat_add_rtp and for this case select Create project in work
space
-
5/20/2018 Lab Report Zeb A
22/119
3. Leave Project setup , Options , configuration Profile , Static analysis Default and finish
the RTP creation.
4. Choose the build specification SIMPENTIUMdiab_RTPand click next
5. Leave the build target name and build toll as default setting
-
5/20/2018 Lab Report Zeb A
23/119
6. Leave the basic configuration settings checked and click finish. This finishes the RTP creation.
7. Add the application program by right clicking on the mat_add_rtp in project navigator -> new -
>file
8. Enter the file name mat_add.c
-
5/20/2018 Lab Report Zeb A
24/119
9. Write application code for Matrix addition in c language
10.Build the mat_add_rtp
-
5/20/2018 Lab Report Zeb A
25/119
11. Build the RTP project this will create a mat_add_rtp.vxeexecutable file in the RTP project
directory
12.Repeat the step 1 - 11 for creating a new RTP for matrix multiplication name it mat_mult_rtp
13.After building mat_mult_rtpan executable file mat_mult_rtp.vxeis created
14.These two executable files may be added to ROMFS file system and associated with kernel
image
Creating ROMFS file system:-
1. Choose Choose to File -> New ->VxWorks ROMFS file system project in the application
window
-
5/20/2018 Lab Report Zeb A
26/119
2. Enter the project name problem1_romfs and set the location as workspace and click next
3. Click next in project structure with default setting and finish the static analysis with default
setting.
-
5/20/2018 Lab Report Zeb A
27/119
4. Drag and drop the problem1_romfs project into the problem_1 image project
5.
Rebuild the image project problem_16. Start the simulator connection which was earlier created
7. When shell appears on the type devsit shows the directories. romfsis one of the directory
-
5/20/2018 Lab Report Zeb A
28/119
8. Change the current directory by typing the command cd /romfs the screen appears as
9. use ls command to list all the .vex file
10.Execute the RTP projects using command rtpSp rtp_project_name
-
5/20/2018 Lab Report Zeb A
29/119
Conclusion and observation:In this project VxWorks image project, Downloadable Kernel module
project, Real Time Process Project and ROMFS file system projects a re created. In this matrix operation
like addition and multiplication of two matrix had been performed. In the RTP projects scanf function is
not working because as it is a real time project predectibality must be high thus if input needs to be taken
from the surrounding then the predictibilty is reduced. However if the function is called in simulator scanf
can be used
-
5/20/2018 Lab Report Zeb A
30/119
Experiment No: 2
Objective:Implementation of Matrix operation by creating tasks(Task Creation, deletion,
task suspend and priority) with DKM,RTP projects.
Tools used:-Wind River Workbench2.5
Theory:-
Task:- Tasks are basic unit of execution in VxWorks. An application in the VxWorks may
contain a number of tasks. VxWorks task has following states:-
1) READY state: The task is not waiting for any resource other than the CPU.
2) PENDING state: The task is blocked due to the unavailability of some resource.
3) DELAYED state: The task is a asleep for a duration
4) SUSPENDED state: The task that is unavailable for execution (but not pended or
delayed). This state is used primarily for debugging. Suspension does not inhibit state
transition, only execution.
Task creation:- in VxWorks tasks are created using function taskSpawn().This function
creates and activates a new task with a specified priority and options and returns a system-assigned ID.
Int taskSpawn (
char * name, /* name of new task (stored at pStackBase) */
int priority, /* priority of new task */
int options, /* task option word */
intstackSize, /* size (bytes) of stack needed plus name */
FUNCPTR entryPt, /* entry point of new task */
int arg1, /* 1st of 10 req'd task args to pass to func */
-
5/20/2018 Lab Report Zeb A
31/119
int arg2,
int arg3,
int arg4,
int arg5,
int arg6,
int arg7,
int arg8,
int arg9,
int arg10 )
Task delete:- task can be deleted using the routine taskDelete(inttask_id). This routine
causes the specified task with task_id to deallocates the stack and task control block(TCB)
resources. This routine returns OK if task is deleted and ERROR is task is not deleted.
Suspending a task:- A ready task can be suspended by calling taskSuspend(inttask_id)
routine. Suspension is additive, thus task can be delayed and suspended, or pended and
suspended. Suspended, delayed tasks whose delays expire, remain suspended. A task can be
suspended regardless of their current state
Resuming a task:- A task which is in suspended state can be resumed using routine
taskResume(inttask_id). Resumed task can be placedin ready state or running state
depending upon their priority. A delayed and pended task is resumed if delay is expire and
resources are avialabel.
Task priority:- Priority of any task can be set by calling routine taskPrioritySet(inttask_id,
intnew_priority). Priority ranges from 0(highest priority) to 255(lowest priority). Current
-
5/20/2018 Lab Report Zeb A
32/119
priority of any task can be examined using routine taskPriorityGet(inttask_id, int
*pPriority). This routine copies the current priority of the task with task_id to the integer
pointed by pPriority
Steps:-
1. Create a VxWorks image project with BSP as simpc. Steps of image creation were followed
from experiment1.
2. Build the image project.
3. Create a Downloadable Kernel Module Project with SIMANTdiab as build specification.
Steps are same as that of the experiment no1.
4. Add an new file to the DKM with name task_mat.c
5. Write the application program of task creation, priority setting in the file mat_task.c
-
5/20/2018 Lab Report Zeb A
33/119
6. Build the DKM project
7. Copy the image file location of the problem_2 image file into the vsim1 simulator properties.
-
5/20/2018 Lab Report Zeb A
34/119
8. Start the simulator vsim1 and download task_mat.out
-
5/20/2018 Lab Report Zeb A
35/119
9. Type the project name maininto the simulator and press enter
-
5/20/2018 Lab Report Zeb A
36/119
Observation and conclusion :In this experiment I performed the task related operation i.e. task creation,
task deletion, task suspend, task resume, task priority setting for matrix application. In the RTP project
task priority setting cannot be done.
-
5/20/2018 Lab Report Zeb A
37/119
Experiment no: 3
Objective: - Implementation of Semaphores, Mutex , event creation, interrupt and exceptionhandling for matrix operation.
Tools: - Wind River Workbench 2.5
Theory: -Inter task communication: tasks communicate and synchronize themselves by using inter
task primitives which are the kernel objects for facilitating the synchronization and
communication between two or more tasks. VxWorks kernel provides some intertask
communication mechanisms like shared memory for simple sharing of data, semaphores for
task synchronization and basic mutual exclusion, mutexes and conditional variables for
mutual exclusion and synchronization, message queues and pipes for intertask message
passing within CPU and VxWorks events for communication and synchronization
Semaphores:- semaphores are the highly optimized tool for inter task communication which
is used for both mutual exclusion and synchronization. There are three types of semaphores:
1) Binary semaphore:- Binary semaphore has the value either 0 or 1. When the value is 0,
semaphore is considered as empty or unavailable. When its value is 1 then it is
considered as full or available. Binary semaphore is first created by using
semBCreate(SEM_Q_PRIORITY/SEM_Q_FIFO,SEM_FULL/SEM_EMPTY) as empty
or full semaphore. Binary semaphores are global resource and can be shared across all the
tasks which needs them, also it can be released by any task which may or may not
previously acquired it
-
5/20/2018 Lab Report Zeb A
38/119
2) Counting Semaphores:- it uses a count to allow to be acquired and released multiple
times. Count must be provided to the counting semaphores during its creation. If initial
count is zero then semaphore is unavailable and if initial count is nonzero then count
number of semaphores is available. One or more task can acquire a token from the
counting semaphore until it is available. This can be created using
semCCreate(SEM_Q_PRIORITY/SEM_Q_FIFO,COUNT_VAL).
3) Mutual exclusion Semaphores (MUTEX):-Mutexes are the special binary semaphores
that supports ownership, recursive access, task deletion safety and safeguard against the
priority inversion. Mutex states are locked and unlocked(1 and 0 respectively). A mutex
is initially created in unlocked state, in which it can be acquired by the task and go into
locked state. It can be created using semMCreate(options). Options can be
SEM_Q_PRIORITY,SEM_Q_FIFO,SEM_DELETE_SAFE,SEM_INVERSION_SAFE.
Because of feature of recursive access it can be taken more than once by the task that
owns it before finally being released. Recursion is useful for a set of routines that need
mutually exclusive access to a resource, but may need to call each other.
Procedure:-
1. Create a VxWorks image project with BSP as simpc. Steps of image creation were followed
from experiment1.
2. Build the image project.
3. Create a Downloadable Kernel Module Project with SIMANTdiab as build specification. Steps
are same as that of the experiment no1.
-
5/20/2018 Lab Report Zeb A
39/119
4. Add an new file to the DKM with name sem_pro.c
5. Write the application program of task creation, priority setting in the file sem_pro.c
-
5/20/2018 Lab Report Zeb A
40/119
6. Build the DKM project
7. Copy the image file location of the Lab_2 image file into the vsim1 simulator properties.
-
5/20/2018 Lab Report Zeb A
41/119
8. Start the simulator vsim2
9. Download the sem.out file of DKM project to the simulator
10.Type the project name maininto the simulator and press enter
-
5/20/2018 Lab Report Zeb A
42/119
-
5/20/2018 Lab Report Zeb A
43/119
Experiment 4
AIM: Implementation of PPC based embedded system for controlling input and output
using custom IP(standalone).
Apparatus:Xilinx EDK 10.1,Xilinx- ISE, Xilinx Virtex II-Pro Development Kit
Procedure:
Step 1: Cick on Xilinx Platform Studio (XPS) and go to File ->New project to create new
project using BSB wizard
-
5/20/2018 Lab Report Zeb A
44/119
-
5/20/2018 Lab Report Zeb A
45/119
Step 2: Select board vendor and board name and version.
-
5/20/2018 Lab Report Zeb A
46/119
Step 3: PowerPC processor core has to be selected
-
5/20/2018 Lab Report Zeb A
47/119
-
5/20/2018 Lab Report Zeb A
48/119
Step 4: Uart_1 is only selected as peripheral which needs to be selected .
-
5/20/2018 Lab Report Zeb A
49/119
-
5/20/2018 Lab Report Zeb A
50/119
Step 5: Memory size of XPS BRAM IF CNTRL needs to be changed to maximum
-
5/20/2018 Lab Report Zeb A
51/119
Step 6:RS232_Uart_1 need to be STDIN and STDOUT for device
-
5/20/2018 Lab Report Zeb A
52/119
Step 7: Memory test and peripheral test needs to be done as a part of configuration
-
5/20/2018 Lab Report Zeb A
53/119
-
5/20/2018 Lab Report Zeb A
54/119
Step 7: Generate Address
-
5/20/2018 Lab Report Zeb A
55/119
After Finish you will get the following screen.
-
5/20/2018 Lab Report Zeb A
56/119
Step 5:Go to Hardware->Generate Net list
Step 6:Go to Hardware-> Generate Bit stream
Step 7:Go to start->All Programs-> Xilinx ISE Design Suite 10.1->ISE->Project
Navigator
And window appears like below.
-
5/20/2018 Lab Report Zeb A
57/119
Step 8:Go to File->New project
-
5/20/2018 Lab Report Zeb A
58/119
-
5/20/2018 Lab Report Zeb A
59/119
Step 9:Click on New source
-
5/20/2018 Lab Report Zeb A
60/119
Step 10:Press Finish
-
5/20/2018 Lab Report Zeb A
61/119
-
5/20/2018 Lab Report Zeb A
62/119
Step 10:CHECK syntax.
Step 11:Synthesize-XST
-
5/20/2018 Lab Report Zeb A
63/119
Go to XPS
Hardware->create or import peripheral
-
5/20/2018 Lab Report Zeb A
64/119
-
5/20/2018 Lab Report Zeb A
65/119
-
5/20/2018 Lab Report Zeb A
66/119
-
5/20/2018 Lab Report Zeb A
67/119
-
5/20/2018 Lab Report Zeb A
68/119
-
5/20/2018 Lab Report Zeb A
69/119
Step 12:
Got to: D:\zeba_edk\jlkolk\iseiproj\iseipproj and copy iseipfile.vhd into
D:\zeba_edk\jlkolk\iseiproj\pcores\peripheralfile_v1_00_a\hdl\vhdl
Step 13:
Go to:D:\zeba_edk\jlkolk\iseiproj\pcores\peripheralfile_v1_00_a\hdl\vhdl\user_logic.vhd
open file in notepad
port
(
-- ADD USER PORTS BELOW THIS LINE ------------------
--USER ports added here
LED1 : out STD_LOGIC_VECTOR (3 downto 0);
-
5/20/2018 Lab Report Zeb A
70/119
SWITCH1 : in STD_LOGIC_VECTOR (3 downto 0);
-- ADD USER PORTS ABOVE THIS LINE ------------------
architecture IMP of user_logic is
--USER signal declarations added here, as needed for user logic
component iseipfile
Port ( SWITCH : in STD_LOGIC_VECTOR (3 downto 0);
LED : out STD_LOGIC_VECTOR (3 downto 0);
bus_ipclk : in STD_LOGIC);
end component ;
--USER logic implementation added here
iseipfile1 : iseipfile port map(SWITCH1,LED1, Bus2IP_Clk);
------------------------------------------
-- Example code to read/write user logic slave model s/w accessible registers
Go to:
D:\zeba_edk\jlkolk\iseiproj\pcores\peripheralfile_v1_00_a\hdl\vhdl \peripheralfile.vhd
file and edit the following code
-
5/20/2018 Lab Report Zeb A
71/119
-- ADD USER PORTS BELOW THIS LINE ------------------
--USER ports added here
SWITCH2: in STD_LOGIC_VECTOR (3 downto 0);
LED2: out STD_LOGIC_VECTOR (3 downto 0);
-- ADD USER PORTS ABOVE THIS LINE ------------------
-- MAP USER PORTS BELOW THIS LINE ------------------
--USER ports mapped here
LED1=>LED2,
SWITCH1=>SWITCH2,
-- MAP USER PORTS ABOVE THIS LINE ------------------
Go to: D:\zeba_edk\jlkolk\iseiproj\pcores\peripheralfile_v1_00_a\data\
peripheralfile_v2_1_0.pao and open it and add this line,
lib peripheralfile_v1_00_a iseipfile vhdl
-
5/20/2018 Lab Report Zeb A
72/119
Step 14: Go to Xilinx-ISE and open D:\Exp4\implementation\system.ucf
And copy the following file
## IO Devices constraints
Net peripheralfile_0_LED2_pin LOC=AC4;
Net peripheralfile_0_LED2_pin IOSTANDARD=LVTTL;
Net peripheralfile_0_LED2_pin LOC=AC3;
Net peripheralfile_0_LED2_pin IOSTANDARD=LVTTL;
-
5/20/2018 Lab Report Zeb A
73/119
Net peripheralfile_0_LED2_pin LOC=AA6;
Net peripheralfile_0_LED2_pin IOSTANDARD=LVTTL;
Net peripheralfile_0_LED2_pin LOC=AA5;
Net peripheralfile_0_LED2_pin IOSTANDARD=LVTTL;
Net peripheralfile_0_SWITCH2_pin LOC=AC11;
Net peripheralfile_0_SWITCH2_pin LOC=AD11;
Net peripheralfile_0_SWITCH2_pin LOC=AF8;
Net peripheralfile_0_SWITCH2_pin LOC=AF9;
Step 15:
Adding the custom IP
Go to XPS
Hardware->create or import peripheral
-
5/20/2018 Lab Report Zeb A
74/119
-
5/20/2018 Lab Report Zeb A
75/119
-
5/20/2018 Lab Report Zeb A
76/119
-
5/20/2018 Lab Report Zeb A
77/119
And press yes. If there is any syntax errors it will show here only.
-
5/20/2018 Lab Report Zeb A
78/119
-
5/20/2018 Lab Report Zeb A
79/119
-
5/20/2018 Lab Report Zeb A
80/119
-
5/20/2018 Lab Report Zeb A
81/119
-
5/20/2018 Lab Report Zeb A
82/119
-
5/20/2018 Lab Report Zeb A
83/119
-
5/20/2018 Lab Report Zeb A
84/119
-
5/20/2018 Lab Report Zeb A
85/119
-
5/20/2018 Lab Report Zeb A
86/119
-
5/20/2018 Lab Report Zeb A
87/119
Step 18:Add IP in IP catalogue:
Step 19:Select plb0 in SPLB in bus interface section.
-
5/20/2018 Lab Report Zeb A
88/119
Step 20:Select 64K in addresses section and click generate addresses.
-
5/20/2018 Lab Report Zeb A
89/119
Step 20:Make ports as external in IP added in ports section.
-
5/20/2018 Lab Report Zeb A
90/119
Step 21:Go to Device configuration->Update Bitstream
Step 22:Go to Device Configuration->Download Bitstream
Step 23:Check the output by varying the dip switches.
-
5/20/2018 Lab Report Zeb A
91/119
Experiment 5
Objective:-Implementation of PPC based embedded system with file handling using compact
flash card
Tools and Board used:-Xilinx EDK, Xilinx VirtexII Pro Development board
Theory:- Xilinx Embedded Development Kit (EDK) provides the libraries and device
drivers for standard C library functions as well as function to access peripherals. The
ED K librar ies are automatically configured by Libgen for every project based on
Microprocessor Software specification(.mss) file. The organization of PPC based system is
shown as:
File accessing from the Flash memory is done using LibXilFATFileSystem library.The XUP
board has the SystemACE controller and CompactFlash connector hardware for interfac ing the
Flash memory. SyatemACE controller supports FAT16file format. File operation using
Compact Flash is done using xilfatsLibrary.The xilfatsprovides the read and write routines to
access files storedon a FAT16 file format. The header file which provides the required routines
is: "sysace_stdio.h"
-
5/20/2018 Lab Report Zeb A
92/119
Procedure:
1. Open Xilinx Platform Studio
2. Click File>New Project
-
5/20/2018 Lab Report Zeb A
93/119
3. Create New XPS project using BSB
4. Create New Design using BSB. This gives opportunity to the designer to select the
peripheral it needs.
-
5/20/2018 Lab Report Zeb A
94/119
5. Select the appropriate board (XUP virtex II pro in our case)
6. Processor to selected ( PowerPC for this experiment)
-
5/20/2018 Lab Report Zeb A
95/119
7. Select the required IO devices to be used.
-
5/20/2018 Lab Report Zeb A
96/119
8. Select maximum memory size for the xps BRAM controller
-
5/20/2018 Lab Report Zeb A
97/119
9. Select RS 232 UARTas the standard input-output and xps_bram_cntrl for the boot
memory
10.This step generates the summary of the system created thus clearly giving the base
address and higher address generated:
-
5/20/2018 Lab Report Zeb A
98/119
11.After successful Generation of the embedded system
BLOCK DIAGRAM:
-
5/20/2018 Lab Report Zeb A
99/119
12.Include library xilfats library from Software platform settings
-
5/20/2018 Lab Report Zeb A
100/119
13.Generate Library and BSP
14.Generate NETLIST
-
5/20/2018 Lab Report Zeb A
101/119
15.Generate Bitstream
16.Add application Software Project
-
5/20/2018 Lab Report Zeb A
102/119
17.Mark to Initialize BRAM
18.Add NEW FILE in Source
-
5/20/2018 Lab Report Zeb A
103/119
19.Add *.c File
20.Write the code in cflash.c
-
5/20/2018 Lab Report Zeb A
104/119
21.Build the project
22.Update Bitstream
-
5/20/2018 Lab Report Zeb A
105/119
23.Download Bitstream
24.Output at Hyper Terminal
-
5/20/2018 Lab Report Zeb A
106/119
Experiment 6
Objective:-Implementation of PPC based system with file handling using DDRAM
Tools and Board Used: -Xilinx EDK,XilinxVirtexII Pro Development Board, External 256 MB DDR
Memory
Procedure: -
1. Open Xilinx platform studio>>New>>Project
2. Create new project using BSB wizard
-
5/20/2018 Lab Report Zeb A
107/119
-
5/20/2018 Lab Report Zeb A
108/119
-
5/20/2018 Lab Report Zeb A
109/119
-
5/20/2018 Lab Report Zeb A
110/119
-
5/20/2018 Lab Report Zeb A
111/119
-
5/20/2018 Lab Report Zeb A
112/119
-
5/20/2018 Lab Report Zeb A
113/119
3. Block Biagram Generated can be viewed and DDRAm_SDRAM constitute a part of MPMC
module Interface and is connected to Processor core using ppc405_0_dplb1 bus
4. Generate Software Library to select the xilmfs memory system to be included in the project.Then
Generate Net List and then BitStream
-
5/20/2018 Lab Report Zeb A
114/119
-
5/20/2018 Lab Report Zeb A
115/119
5. Add software application project
6. Mark to initialize BRAM
-
5/20/2018 Lab Report Zeb A
116/119
7. Add new Source file
-
5/20/2018 Lab Report Zeb A
117/119
8. Write the code
NOTE: -For initialization of DDRAM access the parameters from Software Platform Settings
-
5/20/2018 Lab Report Zeb A
118/119
9. Build All User Application
10.Update Bitstream and then Download Bitstream
-
5/20/2018 Lab Report Zeb A
119/119
OUTPUT:- See the concerned output on the hyper terminal