野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7815|回复: 12

[emXGUI] freeRTOS\06-emXGUI推荐应用模版编译失败

[复制链接]
发表于 2019-7-17 09:38:48 | 显示全部楼层 |阅读模式
本帖最后由 苏州硬件设计 于 2019-7-18 15:41 编辑

工程来源
野火网盘..\2-入门程序_MCU平台/F429_挑战者开发板_V1\freeRTOS\06-emXGUI推荐应用模版

报错
第一个:缺emxgui库,把2-入门程序_MCU平台.zip\emXGUI_Lib复制到C:\Users\think即可解决
第二个:上图,不想找了。
1.png

如何解决呢?
告诉我QSPI_OK定义在哪个文件也行呀!
1.png
回复

使用道具 举报

发表于 2019-7-17 10:07:51 | 显示全部楼层
要删除一些不相关的东西,一些读取字库和图片等
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-7-17 09:42:34 | 显示全部楼层
又编译一个,报错还有。估计每个工程都有问题,这个问题估计是工程设置的问题,不是程序的问题。
工程师抓紧修复下,不然鸡腿我吃了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-17 10:23:03 | 显示全部楼层
本帖最后由 苏州硬件设计 于 2019-7-17 14:53 编辑
阿里 发表于 2019-7-17 10:07
要删除一些不相关的东西,一些读取字库和图片等

这个就难为人了,本来指望工程入门的,谁知道带坑里面了
我买的429V2不能浪费呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-18 15:40:37 | 显示全部楼层
火哥说他们电脑编译没问题,我想问下
MDK的版本是?是否需要什么特殊的设置呢?
如果都没有,告诉我QSPI_OK的定义在哪?我的是不是缺文件?[img][/img]
回复 支持 反对

使用道具 举报

发表于 2019-7-18 16:52:42 | 显示全部楼层
定义一个枚举变量就好了
enum
{
  QSPI_OK = 1,
  QSPI_ERROR= 0
};
回复 支持 反对

使用道具 举报

发表于 2019-7-18 16:56:53 | 显示全部楼层
..\..\..\..\..\emXGUI_Lib\drv\gui_resource_port.c(65): error:  #127: expected a statement
解决方法:像图片一样在42行加入}
1563440106(1).jpg
回复 支持 反对

使用道具 举报

发表于 2019-7-18 17:00:51 | 显示全部楼层
..\..\..\..\..\emXGUI_Lib\app\base\res_writer\backend_res_writer.c(400): error:  #513: a value of type "void" cannot be assigned to an entity of type "uint8_t"
解决方法:修改下面这个函数,头文件的函数声明也需要修改

[mw_shl_code=c,true]int SPI_FLASH_BufferWrite(u8* pBuffer, u32 WriteAddr, u16 NumByteToWrite)
{
  u8 NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0, temp = 0;
       
        /*mod运算求余,若writeAddr是SPI_FLASH_PageSize整数倍,运算结果Addr值为0*/
  Addr = WriteAddr % SPI_FLASH_PageSize;
       
        /*差count个数据值,刚好可以对齐到页地址*/
  count = SPI_FLASH_PageSize - Addr;       
        /*计算出要写多少整数页*/
  NumOfPage =  NumByteToWrite / SPI_FLASH_PageSize;
        /*mod运算求余,计算出剩余不满一页的字节数*/
  NumOfSingle = NumByteToWrite % SPI_FLASH_PageSize;

         /* Addr=0,则WriteAddr 刚好按页对齐 aligned  */
  if (Addr == 0)
  {
                /* NumByteToWrite < SPI_FLASH_PageSize */
    if (NumOfPage == 0)
    {
      SPI_FLASH_PageWrite(pBuffer, WriteAddr, NumByteToWrite);
    }
    else /* NumByteToWrite > SPI_FLASH_PageSize */
    {
                        /*先把整数页都写了*/
      while (NumOfPage--)
      {
        SPI_FLASH_PageWrite(pBuffer, WriteAddr, SPI_FLASH_PageSize);
        WriteAddr +=  SPI_FLASH_PageSize;
        pBuffer += SPI_FLASH_PageSize;
      }
                       
                        /*若有多余的不满一页的数据,把它写完*/
      SPI_FLASH_PageWrite(pBuffer, WriteAddr, NumOfSingle);
    }
  }
        /* 若地址与 SPI_FLASH_PageSize 不对齐  */
  else
  {
                /* NumByteToWrite < SPI_FLASH_PageSize */
    if (NumOfPage == 0)
    {
                        /*当前页剩余的count个位置比NumOfSingle小,写不完*/
      if (NumOfSingle > count)
      {
        temp = NumOfSingle - count;
                               
                                /*先写满当前页*/
        SPI_FLASH_PageWrite(pBuffer, WriteAddr, count);
        WriteAddr +=  count;
        pBuffer += count;
                               
                                /*再写剩余的数据*/
        SPI_FLASH_PageWrite(pBuffer, WriteAddr, temp);
      }
      else /*当前页剩余的count个位置能写完NumOfSingle个数据*/
      {                               
        SPI_FLASH_PageWrite(pBuffer, WriteAddr, NumByteToWrite);
      }
    }
    else /* NumByteToWrite > SPI_FLASH_PageSize */
    {
                        /*地址不对齐多出的count分开处理,不加入这个运算*/
      NumByteToWrite -= count;
      NumOfPage =  NumByteToWrite / SPI_FLASH_PageSize;
      NumOfSingle = NumByteToWrite % SPI_FLASH_PageSize;

      SPI_FLASH_PageWrite(pBuffer, WriteAddr, count);
      WriteAddr +=  count;
      pBuffer += count;
                       
                        /*把整数页都写了*/
      while (NumOfPage--)
      {
        SPI_FLASH_PageWrite(pBuffer, WriteAddr, SPI_FLASH_PageSize);
        WriteAddr +=  SPI_FLASH_PageSize;
        pBuffer += SPI_FLASH_PageSize;
      }
                        /*若有多余的不满一页的数据,把它写完*/
      if (NumOfSingle != 0)
      {
        SPI_FLASH_PageWrite(pBuffer, WriteAddr, NumOfSingle);
      }
    }
  }
  return 1;
}[/mw_shl_code]


回复 支持 反对

使用道具 举报

发表于 2019-7-18 17:05:17 | 显示全部楼层
直接用这个吧,把原来的工程替换了就好

06-emXGUI推荐应用模版.zip

1.87 MB, 下载次数: 62

回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-19 08:40:32 | 显示全部楼层
谢谢老哥,心碎一地
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-19 08:51:34 | 显示全部楼层
不搞了,脑残粉转全腹黑。
回复 支持 反对

使用道具 举报

发表于 2019-7-19 08:59:44 | 显示全部楼层
发的工程用不了吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-19 09:24:05 | 显示全部楼层
本帖最后由 苏州硬件设计 于 2019-7-19 09:25 编辑

替换emXGUI_Lib.zip之后才可以之前lib有语法错误
望同步网盘
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-7 03:43 , Processed in 0.048966 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表