[ECOS] cyg_io_lookup() allways returns ENOENT

Bernhard Gebert bernhard_gebert@web.de
Sun Dec 20 20:20:00 GMT 2009


  Hello Sergei,

thanks for your fast reply and your information about the general handling.
 
As I am used to the eCos Configtool, I tried it this way. In the 
"Packages" window, there is a checkbox
"Omit hardware packages" which I ignored until now.
But, adding the device driver is blocked with the info "Add and remove 
hardware packages by selecting
a new hardware template." By searching a bit, I found
http://old.nabble.com/SPI-support-cannot-be-added-for-AT91SAM7X-EK-td21456285.html
and added CYGPKG_DEVS_CAN_AT91SAM7 to the structure "target at91sam7xek".
But the new package does not occur in the package window on the selected 
side, and the io_lookup()
does still not work.

By the way, CYGPKG_IO_SPI and CYGPKG_DEVS_SPI_ARM_AT91 are included
and visible in the selected packages window.

Is the template "default" my problem? When I select "all", the kernel 
gets too large for my µC, and all the
other variants do not look more useful.

Brg,
Bernhard


Sergei Gavrikov schrieb:
> On Sun, Dec 20, 2009 at 04:30:55PM +0100, Bernhard Gebert wrote:
>   
>> Hi,
>>
>> running my AT91SAM7X256-EK with the eCos configuration from template
>> "default", I would like to acess the CAN device driver.  As I am not
>> experienced with drivers, I simply called
>> cyg_io_lookup("/dev/can0",&handle), but I got the ENOENT error. The
>>     
>
> Hi Bernhard,
>
> Default template has not support for CAN devs. You must add two extra
> packages: CYGPKG_IO_CAN (generic `can' pkg), CYGPKG_DEVS_CAN_AT91SAM7
> (`can' pkg for your target)
>
> It seems for me that the minimal steps to configure a build with CAN
> support for your target are
>
>   ecosconfig new at91sam7xek
>   ecosconfig add CYGPKG_IO_CAN CYGPKG_DEVS_CAN_AT91SAM7
>
> or using the package's aliases
>
>   ecosconfig new at91sam7xek
>   ecosconfig add can devs_can_at91sam7
>
> I believe in that what the same things it's possible to fulfil using
> eCos GUI configure tool (`configtool').
>
>   
>> same result for /dev/tty0, /sev/ser0, /dev/spi0, and so on.  The
>>     
>
> The same is for other eCos devices, you need either to add or allow
> the generic i/o package/driver for the device(s) and possible to add
> the target's specific package (if target has a support for such a kind
> of the devices).
>
>   
>> method of searching for a directory-like string sounds like in real
>> hich level system with file handling; but my small AT91 runs
>> everything from ROM without a file system. Is this the problem?
>>     
>
> Those I/O devices do not claim a FS support.
>
>   
>> One more silly question: I did not find a string like "/dev/..." in
>> the ecos tree, but anyone (the low-level device-driver
>> can_at91sam7.c?) has to register at the eCos devTable with this
>> name?!?
>>     
>
> The eCos documentation is a clue
> http://ecos.sourceware.org/docs-latest/
> http://ecos.sourceware.org/docs-latest/ref/io.html
>
> HIH
>
> Sergei
>
>   
>> Thanks in advance, Bernhard
>>     
>
>
>   



-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list