12
返回列表 发新帖
楼主: dojery

[其他] spifi 写flash 在任务里边执行会堵塞住

[复制链接]

该用户从未签到

4

主题

18

帖子

0

注册会员

Rank: 2

积分
146
最后登录
2018-10-23
 楼主| 发表于 2018-4-23 13:56:49 | 显示全部楼层
问题已经解决,添加互斥量 可以解决。
回复 支持 反对

使用道具 举报

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
发表于 2018-4-24 11:18:35 | 显示全部楼层
qinbin-414122 发表于 2018-4-20 15:50
就是单片机寄存器配置,你的现象可能是中断或者别的任务打断了SPI的读写操作,会使得单片机一直无法跳出 ...

你好,我想问一下,就是我主函数在初始化的时候会read flash操作,加载预先烧写在flash里是数据,然后我利用上位机进行文件升级写到flash里去的时候就无法进行flash操作。如果我屏蔽掉主函数里初始化的时候read flash这些操作,那么我的文件升级写到flash里去就没问题。请问这是什么原因呢?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-11 15:12
  • 签到天数: 190 天

    连续签到: 1 天

    [LV.7]常住居民III

    1

    主题

    232

    帖子

    1

    高级会员

    Rank: 4

    积分
    677
    最后登录
    2019-12-11
    发表于 2018-4-25 16:18:15 | 显示全部楼层
    dojery 发表于 2018-4-23 13:56
    问题已经解决,添加互斥量 可以解决。

    添加互斥量,这个是什么意思?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-11 15:12
  • 签到天数: 190 天

    连续签到: 1 天

    [LV.7]常住居民III

    1

    主题

    232

    帖子

    1

    高级会员

    Rank: 4

    积分
    677
    最后登录
    2019-12-11
    发表于 2018-4-25 16:20:22 | 显示全部楼层
    paulkiyt 发表于 2018-4-24 11:18
    你好,我想问一下,就是我主函数在初始化的时候会read flash操作,加载预先烧写在flash里是数据,然后我 ...

    是不是你运行到读函数的时候出错了?死在了某个地方?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    61

    主题

    233

    帖子

    7

    高级会员

    Rank: 4

    积分
    750
    最后登录
    2021-1-25
    发表于 2018-4-25 16:31:04 | 显示全部楼层
    qinbin-414122 发表于 2018-4-25 16:20
    是不是你运行到读函数的时候出错了?死在了某个地方?

    但是如果我不接收文件写flash,初始化里有读FLASH操作,也是正常的啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-11 15:12
  • 签到天数: 190 天

    连续签到: 1 天

    [LV.7]常住居民III

    1

    主题

    232

    帖子

    1

    高级会员

    Rank: 4

    积分
    677
    最后登录
    2019-12-11
    发表于 2018-4-25 17:17:23 | 显示全部楼层
    paulkiyt 发表于 2018-4-25 16:31
    但是如果我不接收文件写flash,初始化里有读FLASH操作,也是正常的啊

    那是不是你的CAN接收打断了SPI的读操作?你可以试下CAN接受用查询来做
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    61

    主题

    233

    帖子

    7

    高级会员

    Rank: 4

    积分
    750
    最后登录
    2021-1-25
    发表于 2018-4-25 18:12:15 | 显示全部楼层
    qinbin-414122 发表于 2018-4-25 17:17
    那是不是你的CAN接收打断了SPI的读操作?你可以试下CAN接受用查询来做

    我的SPI flash读操作只是在初始化时操作,初始化完了后才接收的文件数据的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-11 15:12
  • 签到天数: 190 天

    连续签到: 1 天

    [LV.7]常住居民III

    1

    主题

    232

    帖子

    1

    高级会员

    Rank: 4

    积分
    677
    最后登录
    2019-12-11
    发表于 2018-4-26 08:32:17 | 显示全部楼层
    paulkiyt 发表于 2018-4-25 18:12
    我的SPI flash读操作只是在初始化时操作,初始化完了后才接收的文件数据的 ...

    如果是接收文件出错,很大的可能是SPI被其他中断打断了,你要不再查下代码吧。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    18

    帖子

    0

    注册会员

    Rank: 2

    积分
    146
    最后登录
    2018-10-23
     楼主| 发表于 2018-4-26 15:12:12 | 显示全部楼层
    qinbin-414122 发表于 2018-4-25 16:18
    添加互斥量,这个是什么意思?

    就是在执行flash操作时,让其他的操作不执行。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-11 15:12
  • 签到天数: 190 天

    连续签到: 1 天

    [LV.7]常住居民III

    1

    主题

    232

    帖子

    1

    高级会员

    Rank: 4

    积分
    677
    最后登录
    2019-12-11
    发表于 2018-4-27 08:31:16 | 显示全部楼层
    dojery 发表于 2018-4-26 15:12
    就是在执行flash操作时,让其他的操作不执行。

    如果有中断打断,你怎么保证不被执行?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 03:34 , Processed in 0.107450 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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