Hello everybody, I would like to use extension header to driver an FPGA extension. Because there is 7 addresses bits and 16 data bits, i would like to connect them in to the fpga. My questions are : - how to setup automatically NGS strobes ( how to make partition ) - how to access to this memory range from CE6.0 ? Thank you for your help Fred
CON5 Extension header
Hello ! I will rewrite my question... I would like to access physical address 0x08000000 with windows CE ( NGS pins are automatically driven ) How can i write this code under winCE 6.0 ? Fred
Hello fred_from_france, This topic should answer to your question : http://www.friendlyarm.net/forum/topic/1004 Don't hesitate to ask if you need further explanations. Domodom
Hi domodom, Thank you for your answer. I have another question about your GPIO driver : in the s2440.h header file, we have : #define IOP_BASE 0xB1600000 // 0x56000000 In comment, we have the real address of the PIO registers. But what is the 0xB1600000 address ???? Thank you for your help Fred
Hello, It's a bit embarrassing, because i don't remember what is this file that doesn't even seem to be used in my driver. To access to the io port registers, the S3C2440A_BASE_REG_PA_IOPORT address is used. Its value is defined in the WINCE600\PLATFORM\MINI2440\SRC\INC\s3c2440a_base_regs.h file and is 0x56000000 (see the Virtual_Alloc() function in the gpio.cpp file) domodom
Hello Dom, I edit all the drivers files of the BSP and a lot of them include this file ( dm9000, backlight, ... ). I also make a simple driver for the ADC from your gpio driver, and i include the s2440.h file, with ADC_BASE value. My driver seems to work because on adc0, i get the value given by the FriendlyArm sample app. I follow the tutorial you do for compiling gpio and your driver call this file ( i have an error if file is not present ... ) I try to print the binary value of these two values, and nothing match... ( i think about a little endian - big endian conversion, but it's not ). Please have you any other ideas ? Thank you Fred
Hi Domodom, I finally understand ( i think ;) ) what these addresses are : For example, the address 0x56000000 is the physical address, and the virtual address is 0x91600000 : this address is given by "oemaddrtab_cfg.inc" If we add the "MEM_UNCACHED_BIT" given in the "oal_memory.inc" ( 0x20000000 ), we find the virtual address 0xB1600000. PA : 0x56000000 VA : 0x91600000 MCB: 0x20000000 ----------------- VA': 0xB1600000 So as conclusion, all the base address in the s2440.h files are virtual addresses, and not physical address to translate... I will soon continue my Expansion-con5 driver. I just have to control the virtual address 0xAC000000 !!! to be continued !!! Fred
hi fred_from_france did you manage to develope your Expansion-con5 driver? I have the same problem and need to access a physical address. please share your code with me. thanks alot saeed ss.mm@gmx.com