[STM32F1] 关于F105RB的两个问题,ST公司也是糊涂虫!

[复制链接]
 楼主| 南海渔歌 发表于 2015-7-23 13:20 | 显示全部楼层 |阅读模式
1、F105RB的flash是128K,按容量来说是中容量,但它又属于互联型产品。那么在MDK的JLINK仿真中怎么设置呢?如果选“中容量”,可是毕竟还有个互联的选项;若选互联,这个选项又写的是256K!
2、F105RB的flash,每页到底是1K还是2K?  STM32参考手册里,说F105属于互联产品,每页是2K;普通的中容量芯片每页是1K。但联系到第1个问题,我就不确定了。看F105/F107的英文手册,也没有任何说明,还要求看F1XXX系列的编程手册。可是这个手册里,明确说明只介绍F101--F103芯片的编程,压根就没提互联型芯片!

这个ST!那么多工程师都是白吃饭的啊!欢迎大家帮ST打我脸,我脸皮厚嘿嘿。不过我觉得打不到我。
fanxsd 发表于 2015-7-23 13:23 | 显示全部楼层
交叉的蛋疼。
Leeone 发表于 2015-7-23 13:30 | 显示全部楼层
反正感觉手册什么的比较乱
周董 发表于 2015-7-23 16:15 | 显示全部楼层
楼主威武。!!
香水城 发表于 2015-7-23 17:46 | 显示全部楼层
本帖最后由 香水城 于 2015-7-23 17:48 编辑

哈哈,我不打LZ的脸,我要感谢LZ,手册看的还是蛮仔细的,并且在有疑问的时候,能够发帖公开讨论。所谓:真理,越辩越明嘛。

第一个问题:

请看STM32F1的参考手册中的定义:(这段话在基本每个章节前面都有哦)

Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.
Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.
High-density devices are STM32F101xx and STM32F103xx microcontrollers where the
Flash memory density ranges between 256 and 512 Kbytes.
XL-density devices are STM32F101xx and STM32F103xx microcontrollers where the
Flash memory density ranges between 768 Kbytes and 1 Mbyte.
Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers.

105/107就是互联型,不管它的片上闪存有多小,有多大。

第二个问题:

在STM32F1的参考手册里,第三章(memory and bus architecuture)的第三节(memory map),这么众多的表格里,请看表7:flash module organization(connectivity line device)

里面清清楚楚写的闪存的每个page是2Kbyte

connectivity line flash.png
mmuuss586 发表于 2015-7-23 18:29 | 显示全部楼层

学习下;
 楼主| 南海渔歌 发表于 2015-7-23 19:54 | 显示全部楼层
谢谢香版   但还是没解决疑问:
1、我知道F105RB属于互联型,我问的是在MDK的JLINK仿真中,需要选择一个类型。那么选择哪个?中容量还是互联型?不会贴图,在附件里。事实上我选择了中容量,仿真还没发现问题。没实验互联型。
2、我也看到这个表格了,互联型是2K。但由于第1个疑问,所以也就不确定第2个问题了。
3、额外再问一个问题,我将ST的USB_IAP例程(STM32F105_107_AN3354_FW_V1.0.0)移植到我的F105RB板子上,枚举正确,但在建立文件系统工作区时错误。这个文件系统的版本很老,基本看不懂。
   if (efs_init(&efs, 0) != 0)
      {
        /* efs initialisation fails*/
        return(-1);
      }
就是这个,总是进入return(-1)了!移植的时候,文件系统压根就没碰啊,怎么会有错?
haha.png
myxiaonia 发表于 2015-7-24 10:11 | 显示全部楼层
南海渔歌 发表于 2015-7-23 19:54
谢谢香版   但还是没解决疑问:
1、我知道F105RB属于互联型,我问的是在MDK的JLINK仿真中,需要选择一个类 ...

兄弟执着了,这个size  表示最大可以达到的值,如果你用大容量的,103vc是256KBflash,按你说得选哪个?
15113484470 发表于 2015-7-24 10:32 | 显示全部楼层
你芯片flash容量多大,就选多大,与是不是互联型有啥关系
 楼主| 南海渔歌 发表于 2015-7-24 11:53 | 显示全部楼层
myxiaonia 发表于 2015-7-24 10:11
兄弟执着了,这个size  表示最大可以达到的值,如果你用大容量的,103vc是256KBflash,按你说得选哪个? ...

有道理哈,我改选互联型了,同时那个窗口里允许改写FLASH尺寸,我改成128K了,仿真发现没啥问题。   
不过原来选“中容量”,仿真也没发现啥问题。:dizzy:
598330983 发表于 2015-7-24 12:11 | 显示全部楼层
楼主的脸都被自己打了,我们怎么敢打。
lefeng 发表于 2015-7-24 12:36 | 显示全部楼层
什么是互联型,都没注意到这个问题
yklstudent 发表于 2015-7-24 12:40 | 显示全部楼层
我就看看,呵呵
amd1217 发表于 2015-7-24 13:04 | 显示全部楼层
本帖最后由 amd1217 于 2015-7-24 13:06 编辑

确实很乱,不过还是以手册为准,
2.png
myxiaonia 发表于 2015-7-24 15:57 | 显示全部楼层
南海渔歌 发表于 2015-7-24 11:53
有道理哈,我改选互联型了,同时那个窗口里允许改写FLASH尺寸,我改成128K了,仿真发现没啥问题。   
不 ...

更本不用改,如果你有心去看看闪存编程算法的话  其实就是一些c代码
用的也是st官方的东西  那个尺寸仅仅是允许的上限

按st要求做一般不会错,不按要求做可能会错也可能不会
myxiaonia 发表于 2015-7-24 15:58 | 显示全部楼层
南海渔歌 发表于 2015-7-24 11:53
有道理哈,我改选互联型了,同时那个窗口里允许改写FLASH尺寸,我改成128K了,仿真发现没啥问题。   
不 ...

更本不用改,如果你有心去看看闪存编程算法的话  其实就是一些c代码
用的也是st官方的东西  那个尺寸仅仅是允许的上限

按st要求做一般不会错,不按要求做可能会错也可能不会
 楼主| 南海渔歌 发表于 2015-7-24 18:32 | 显示全部楼层
myxiaonia 发表于 2015-7-24 15:58
更本不用改,如果你有心去看看闪存编程算法的话  其实就是一些c代码
用的也是st官方的东西  那个尺寸仅仅 ...

谢谢!  可能匆忙间表达不清晰,不是改互联型的上限值,这个改不了,就是256K。改的是右下角的size,256K的尺寸是0x40000,我改成128K对应的0x20000了,于是地址范围那栏里就自动变为0801FFFFH了。我认为这个是需要改的吧。如下图: heihei.png
大秦正声 发表于 2015-7-25 08:15 | 显示全部楼层
看看
myxiaonia 发表于 2015-7-25 09:16 | 显示全部楼层
南海渔歌 发表于 2015-7-24 18:32
谢谢!  可能匆忙间表达不清晰,不是改互联型的上限值,这个改不了,就是256K。改的是右下角的size,256K ...

改不改都不会影响使用  我当然是实践过才这么说的
 楼主| 南海渔歌 发表于 2015-7-25 09:35 | 显示全部楼层
好的  谢谢  结贴!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

91

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部