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