第二次作业
一.例程编译
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

浙公网安备 33010602011771号