你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM3210E_EVAL例程中CheckBitmapFiles()函数中的Buffercmp函数比较的原理

[复制链接]
wwzx2513 提问时间:2021-6-22 11:59 / 未解决
  for(index = 0; index < 14; index++)
  #define USB_ICON   0x64FE8F96
uint8_t SlidesCheck[6]    = {0x42, 0x4D, 0x42, 0x58, 0x02, 0x00};
uint8_t Icons64Check[6]   = {0x42, 0x4D, 0x42, 0x20, 0x00, 0x00};
uint8_t Icons128Check[6]  = {0x42, 0x4D, 0x42, 0x80, 0x00, 0x00};



{
    /* Read bitmap size */
    Media_BufferRead(Tab, SlideAddr[index], 6);
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
    if(Buffercmp(Tab, SlidesCheck, 5)!= 0) return 1;
    Tab[0] = 0x00;
    Tab[1] = 0x00;
    Tab[2] = 0x00;
    Tab[3] = 0x00;
    Tab[4] = 0x00;
    Tab[5] = 0x00;
  }

为什么从NOR读出的32位数据变成8位是{0x42, 0x4D, 0x42, 0x58, 0x02, 0x00}?




补充问题:


程序中图标和幻灯片
/* 图标地址 平均每张7.5K*/
const uint32_t IconsAddr[] = {  0x64FCAC7E, 0x64FCCCC0, 0x64FCED02, 0x64FD0D44, 0x64FD2D86,
                                0x64FD4DC8, 0x64FD6E0A, 0x64FD8E4C, 0x64FDAE8E, 0x64FDCED0,
                                0x64FDEF12};

/* 幻灯片地址 1691822174~1693819832 共1,997,658*/
const uint32_t SlideAddr[14] = {0x64D7285E, 0x64D980A0, 0x64DBD8E2, 0x64DE3124, 0x64E08966,
                                0x64E2E1A8, 0x64E539EA, 0x64E7922C, 0x64E9EA6E, 0x64EC42B0,
                                0x64EE9AF2, 0x64F0F334, 0x64F34B76, 0x64F5A3B8};


1:图片是用哪个程序放进去的?
2:它们的地址和大小如何确定的?


收藏 评论2 发布时间:2021-6-22 11:59

举报

2个回答
goyhuan 回答时间:2021-6-23 18:28:17
有完整的项目文件吗?大家分析起来就快了
网络孤客 回答时间:2021-6-24 10:51:18
STM3210E_EVAL里面有一大堆例程。能说清楚哪个例程?哪个文件。

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版