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
>