note that the am335x port does not enable all
of the hardware blocks by default.  Some of
the hardware blocks are enabled by the bootloader
before sel4 runs, but not all of them.  

See the attached patch, which includes code
in enableTimers for powering on addtional timer
hardware blocks (required for running the refos port
on am335x).  You may need to use similar
code to enable your uart block if it is not enabled.

Tim


On Fri, Oct 2, 2015 at 12:42 PM, Jeff Hieb <jlhieb01@louisville.edu> wrote:
Alex,

Thanks, that worked to fix the device frame error.   Still working on the driver.

It seems like the device frame is not "bound" to the physical memory?

Here is what is printed while the kernel is loading that relates to the frame (I think).

(pd_drv_group_bin, pt_drv_group_bin_2, 300000, 0)
(frame_drv_group_bin_42, pd_drv_group_bin, rights=3, vaddr=300000, vm_attribs=2).

I checked that 300000 is what camkes passed through to my component as "mem", but I am so far unable to get the UART to respond using reads and writes to mem + offset.

Is there some additional code I need to add somewhere or should reads and writes to (mem + offset) write to physical memory?

Thanks,

Jeff





Jeffrey L. Hieb
Department of Engineering Fundamentals
University of Louisville
Louisville Kentucky 40292
(502) 852 0465

On 9/27/2015 9:34 AM, Alexander Kroh wrote:
Hi Jeff,

  seL4 populates the bootinfo structure for the root process.

MMIO frame production is a data driven process using the following data structure:
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_seL4_seL4_blob_master_src_plat_am335x_machine_hardware.c-23L43&d=AwIFAg&c=SgMrq23dbjbGX6e0ZsSHgEZX6A4IAf1SO3AJ2bNrHlk&r=vxDfYJYhOaaufTHzA3yxVVn--9Yf3Ig5TrUiTFGL8pc&m=xES3WJjaY0BbvKig8sNNQD6C8RdHjP2OrtyIzDDzCSQ&s=PE4Vs_EGQB_z2P9KgLYL6Af6ZPkogMq6FGz3RmEPyeY&e=

FYI, the physical address of device frames are defined here:
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_seL4_seL4_blob_master_include_plat_am335x_plat_machine_devices.h&d=AwIFAg&c=SgMrq23dbjbGX6e0ZsSHgEZX6A4IAf1SO3AJ2bNrHlk&r=vxDfYJYhOaaufTHzA3yxVVn--9Yf3Ig5TrUiTFGL8pc&m=xES3WJjaY0BbvKig8sNNQD6C8RdHjP2OrtyIzDDzCSQ&s=iQYNaJIbR5OLyOVMwKZpK0SV1yoBHcUcOP8jLxlQjog&e=

If the uart device that you are attempting to use is not in the list, feel free to add it.

  - Alex



________________________________________
From: Devel [devel-bounces@sel4.systems] on behalf of Jeff Hieb [jlhieb01@louisville.edu]
Sent: Sunday, 27 September 2015 23:07
To: devel@sel4.systems
Subject: [seL4] Camkes MMIO Driver Failed to find device frame

I am working on a UART device driver in camkes for  AM335x.

When I load the image on the board I get this error:

Creating object frame_drv_group_bin_42 in slot 596, from untyped 1f6...
   device frame, paddr = 0x48022000, size = 12 bits

capDL-loader :: << Error: Failed to find device frame at paddr = 0x48022000
   >>

I am reasonably confident the address is correct,
(https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_seL4_libplatsupport_blob_master_plat-5Finclude_am335x_platsupport_plat_serial.h-23L15&d=AwIFAg&c=SgMrq23dbjbGX6e0ZsSHgEZX6A4IAf1SO3AJ2bNrHlk&r=vxDfYJYhOaaufTHzA3yxVVn--9Yf3Ig5TrUiTFGL8pc&m=xES3WJjaY0BbvKig8sNNQD6C8RdHjP2OrtyIzDDzCSQ&s=BmKsuwNLcBX2ucG5br_2EA3628PcqbPWzIh-yLbsVM0&e= )

Looking at the source It seems capDL-Loader wants to find this device
frame in bootinfo

https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_seL4_capdl-2Dloader-2Dapp_blob_master_src_main.c-23L731&d=AwIFAg&c=SgMrq23dbjbGX6e0ZsSHgEZX6A4IAf1SO3AJ2bNrHlk&r=vxDfYJYhOaaufTHzA3yxVVn--9Yf3Ig5TrUiTFGL8pc&m=xES3WJjaY0BbvKig8sNNQD6C8RdHjP2OrtyIzDDzCSQ&s=kaspr1EOmJgHcCfdxXCxymmz5b3I4Fuv_cRwAPqOMgI&e=

Any help on how capDL-loader builds  bootinfo would be appreciated.

Jeff

--
Jeffrey L. Hieb
Department of Engineering Fundamentals
University of Louisville
Louisville Kentucky 40292
(502) 852 0465


_______________________________________________
Devel mailing list
Devel@sel4.systems
https://urldefense.proofpoint.com/v2/url?u=https-3A__sel4.systems_lists_listinfo_devel&d=AwIFAg&c=SgMrq23dbjbGX6e0ZsSHgEZX6A4IAf1SO3AJ2bNrHlk&r=vxDfYJYhOaaufTHzA3yxVVn--9Yf3Ig5TrUiTFGL8pc&m=xES3WJjaY0BbvKig8sNNQD6C8RdHjP2OrtyIzDDzCSQ&s=rKkqGJPIQpRtHhsDyxjrcUE5EBpZ9S3AHoMVeHB707s&e=

________________________________

The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.


_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel



--
Tim Newsham | www.thenewsh.com/~newsham | @newshtwit | thenewsh.blogspot.com