Hi,
Today, I have an idea that I want to run Linux system on zynq7045f900-3 FPGA of OpenSSD. then write a program to control the operation of SSD. and from the openSSD project of GitHub, I only find the boot.bin to start the bare-metal program from SD card. and it does not run Linux system.
if I want to achieve it, Which aspect I should pay attention to? can you give me some advice?
Thanks
Could to run linux system on the zynq fpga of OpenSSD to control the write and read?
-
- Posts: 46
- Joined: Thu Jul 06, 2017 12:57 pm
-
- Posts: 46
- Joined: Thu Jul 06, 2017 12:57 pm
Re: Could to run linux system on the zynq fpga of OpenSSD to control the write and read?
Hi,KibinPark wrote: ↑Mon May 28, 2018 4:36 amPlease refer to https://www.xilinx.com/products/design- ... x-sdk.html
Thanks for your reply, when i create the Linux boot, i find that i don't know how to set this configuration in linux system.
XScuGic_Config *IntcConfig;
Xil_ICacheDisable();
Xil_DCacheDisable();
Xil_DisableMMU();
// Paging table set
#define MB (1024*1024)
for (u = 0; u < 4096; u++)
{
if (u < 2)
Xil_SetTlbAttributes(u * MB, 0xC1E); // cached & buffered
else if (u < 293)
Xil_SetTlbAttributes(u * MB, 0xC12); // uncached & nonbuffered
else if (u < 590)
Xil_SetTlbAttributes(u * MB, 0xC1E); // cached & buffered
else
Xil_SetTlbAttributes(u * MB, 0xC12); // uncached & nonbuffered
}
Xil_EnableMMU();
Xil_ICacheEnable();
Xil_DCacheEnable();
could you give me some adivce about this? that should i decrease the dram size of linux system? Thanks
Re: Could to run linux system on the zynq fpga of OpenSSD to control the write and read?
They are not necessary if you are going to run linux kernel.
In addition, total DRAM size of Cosmos board is 1 GB.
In addition, total DRAM size of Cosmos board is 1 GB.
-
- Posts: 46
- Joined: Thu Jul 06, 2017 12:57 pm
Re: Could to run linux system on the zynq fpga of OpenSSD to control the write and read?
Hi,
Thanks for your reply. Today, I test my idea and run linaro system in zynq FPGA. but when I migrate the openSSD firmware to Linux system. I face the problem that the function of fmc_driver.c can't run on linux system. Meanwhile, i already using the mmap() function to map Tiger4NSC IP to memory and write and read register of it by using
ChCtlReg_0 = mmap();
*((volatile unsigned int*)(ChCtlReg_0+0x00000028)) = 0x00000001;
What's the problem with this method?Do you have a better way to read and write registers of TIger4NSC IP in linux system ? Should I write linux driver to control them
Please guide me.
Thanks
Who is online
Users browsing this forum: No registered users and 0 guests