needs to be changed toconnection seL4HardwareMMIO uart_mem (from drv.mem, to Cons_PingMe.mem);
connection seL4HardwareMMIO uart_mem (from Cons_PingMe.mem, to drv.mem);
On 11/06/2016, at 2:03 AM, Julien Delange <julien.delange@gmail.com> wrote:Yep. I tried many things in order to see where the mistake is or if there are any parser limitations. Without much luck, that is why I was wondering how I can get more log/debug information.On Fri, Jun 10, 2016 at 12:00 PM, Kent <kent.mcleod72@gmail.com> wrote:Have you tried moving the import statements above the UART component definition?Kent.On 11/06/2016, at 1:54 AM, Julien Delange <julien.delange@gmail.com> wrote:In fact, I do not have such a file. My assembly looks like this (see below). I connect the hardware component UART to the Cons_PingMe. So, I do not have any driver defined in a separate file. This is the uart_mem connection that is the issue.I am almost sure I missed something and not sure this is a bug.
assembly.camkes:
===============
component UART{
hardware;
dataport Buf mem;
}
import <std_connector.camkes>;
import "components/timer/Timer.camkes";
import "components/ProducerThreadImpl/ProducerThreadImpl.camkes";
import "components/ConsumerThreadImpl/ConsumerThreadImpl.camkes";
assembly {
composition {
component Timerbase timerbase;
component Timer timer;
component UART drv;
component ProducerThreadImpl Prod_Pinger;
component ConsumerThreadImpl Cons_PingMe;
connection seL4SharedData connection0(from Prod_Pinger.data_source, to Cons_PingMe.data_sink);
connection seL4Notification notification0 (from timer.Prod_Pinger_activator, to Prod_Pinger.activator);
connection seL4Notification notification1 (from timer.Cons_PingMe_activator, to Cons_PingMe.activator);
connection seL4HardwareMMIO uart_mem (from drv.mem, to Cons_PingMe.mem);
connection seL4HardwareMMIO timer_mem (from timer.reg, to timerbase.reg);
connection seL4HardwareInterrupt timer_irq (from timerbase.irq, to timer.irq);
}
configuration {
connection0.from_access = "W";
connection0.to_access = "R";
timerbase.reg_attributes = "0x48040000:0x1000";
timerbase.irq_attributes = 68;
drv.mem_attributes = "0x43F90000:0x1000";
random.ID = 1;
}
}components/ConsumerThreadImpl/ConsumerThreadImpl.camkes:====================================================
component ConsumerThreadImpl
{
include "generatedtypes.h";
control;
dataport simpletype data_sink;
consumes sig activator;
dataport Buf mem;
}_______________________________________________On Fri, Jun 10, 2016 at 11:31 AM, Andrew Gacek <andrew.gacek@gmail.com> wrote:Perhaps you need to add:
import "components/drv/Driver.camkes";
Also Driver.camkes seems to be a copy of ConsumerThreadImpl.camkes and
does not contain a definition of the UART component.
-Andrew
> _______________________________________________
On Fri, Jun 10, 2016 at 10:15 AM, Julien Delange
<julien.delange@gmail.com> wrote:
> Hi,
>
> I am trying to build a camked application with a UART driver. When trying to
> build the application, I got the following error:
>
> While rendering uart_mem.from.source: 'drv'
>
>
> However, the component is well define. How can I try to get more
> information/debug of the camkes assembly and find out what is wrong?
>
> Thanks!
>
> Note: the project can be found there:
> https://drive.google.com/file/d/0Bxl72qH3r6BjRGxYSXd2LUllcDQ/view?usp=sharing
>
> Devel mailing list
> Devel@sel4.systems
> https://sel4.systems/lists/listinfo/devel
>
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel