嵌入式软件DOL实例分析&编程

实验任务

  • 修改dol文件中的example2,让3个square模块变为2个。
  • 修改dol文件中的example1,使其输出3次方数。

实验注意事项

  • 修改代码后要重新编译,首先进入dol目录下:cd dol
  • 进行编译:ant -f build_zip.xml all
  • 实验步骤

    对example1的源代码分析

    在example1中定义了一个平方进程,具体代码如下:

    if (p->local->index < p->local->len) {
        DOL_read((void*)PORT_IN, &i, sizeof(float), p);
        i = i*i;
        DOL_write((void*)PORT_OUT, &i, sizeof(float), p);
        p->local->index++;
    }

    首先是对判断条件的分析,p->local->index是指当前的位置,该值被初始化为0;p->local->len为生产者的长度,若满足当前位置小于生产者的长度,则对变量i进行平方运算。

    修改example1源代码

    实验要求输出位i的三次方,所以我们只需要在i平方的基础上再乘以i即可,修改代码如下:
    i=i*i*i

    进行编译并运行修改后的代码

    • 这里需要注意一点,在运行修改后的代码前,首先需要删除main文件夹下的已存在的example文件,该文件的具体目录为dol/build/bin/main
    • 删除后进行编译,编译指令已在实验注意事项中说明;
    • 运行修改后的代码,需要先进入文件所在目录,指令为cd dol/build/bin/main
      运行example1,指令为sudo ant -f runexample.xml -Dnumber=1

    从上图结果可以看到,生产者长度为20,输出了0-19每个数的三次方。

    接下来分析并实现example2。

    对example2的源代码分析

    <variable value="3" name="N"/>  
    
      
      

      以上源代码中定义了三个square模块,对于各个模块之间的连接已在课堂讲过,在此不赘述。

      修改example2的源代码

      实验只需要输出2个square模块,所以只需要把value的值改为2即可。
      variable value="2" name="N"/

      运行修改后的代码

      运行指令为:sudo ant -f runexample.xml -Dnumber=2

    • 在运行成功后,我们可以在dol/build/bin/main/example2的文件夹下,看到example2.dot文件。
    • 如果你的Ubuntu未安装打开dot文件的软件,双击该文件后会有对话框提示你安装类似软件,这里我安装了Xdot,安装指令为
      sudo apt-get install xdot
    • 安装成功后,我们就可以双击打dot文件了!
    出处为: http://blog.csdn.net/qq_32696375/article/details/53098760
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值