第二次作业

一.例程编译

1.在github上,Fork例程项目(https://github.com/cbhust/STM32F429_Discovery_FreeRTOS_9.git) 到自己的个人账号。

2.clone项目到本地电脑的Ubuntu虚拟机中(虚拟机环境在第一次作业中已搭建)。

3.到网页 https://github.com/gnu-mcu-eclipse/qemu/releases/tag/gae-2.8.0-20161227 下载二进制文件 gnuarmeclipse-qemu-debian64-2.8.0-201612271623-dev.tgz到~/work目录
在工作目录解压缩文件,并把路径添加到$PATH变量中。

  #cd ~/work
  #tar xvf gnuarmeclipse-qemu-debian64-2.8.0-201612271623-dev.tgz
  #chmod -R -w ./qemu
  export PATH=~/work/qemu/2.8.0-201612271623-dev/bin/:$PATH

  ![](http://images2017.cnblogs.com/blog/1240833/201709/1240833-20170929110250794-281884948.png)

4.测试qemu能否正常运行
#qemu-system-gnuarmeclipse --version
5.在Demo1目录下运行脚本文件:

        #./qemu.sh



6. GDB调试
qemu启动后等待来自gdb的调试指令,打开另外一个终端窗口,运行

       #arm-none-eabi-gdb

在gdb界面内运行:

 (gdb)target remote localhost:1234
 (gdb)continue



二.编程作业

1.建立任务
(1).sender_task

          void sender_Task(void *pvParameters)

     {

int32_t SendNum = 0;  

for( ;; )  

{  

    vTaskDelay(1/portTICK_RATE_MS );  

    xQueueSend( MsgQueue, ( void* )&SendNum,1 );  

    Sendsum=SendFsum+SendNum;

    SendNum++;  

}  

if(SendNum==10000)



         {



            uint32_t SendNum=1;



         }

vTaskDelay(2)

 }

}’

(2).receiver_task

       void receiver_Task(void *pvParameters)



 {

int32_t ReceiveNum = 0;  

for( ;; )  

{ 

    if( xQueueReceive( MsgQueue, &ReceiveNum,2/portTICK_RATE_MS ) == pdPASS)  

    {  

       Receiversum=Receiversum+ReceiverNum;

    }  

  vTaskDelay(1000)

}  

}

(3).monitor_task

   ‘void monitor_Task(void *pvParameters)



  {

    while(1)



 {



if(Receiversum == Sendsum)



 {



  Green_LED_On();



  vTaskDelay(1000);



  Green_LED_Off();



 }



 else



 {



  Red_LED_On();



  vTaskDelay(1000);



  Red_LED_Off();



 }



 vTaskDelay(10000 );

}’

2.进行编译 结果

好像不太对。。。。

三.提交到github

  链接    https://github.com/lys94386/STM32F429_Discovery_FreeRTOS_9
posted @ 2017-09-29 11:27  机械1404刘玉松  阅读(160)  评论(1)    收藏  举报