第二次作业

一.例程编译

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


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刘玉松  阅读(182)  评论(1)    收藏  举报