打印
[STM32F1]

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

[复制链接]
2925|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
楼主威武。!!

使用特权

评论回复
5
香水城| | 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


使用特权

评论回复
6
mmuuss586| | 2015-7-23 18:29 | 只看该作者

学习下;

使用特权

评论回复
7
南海渔歌|  楼主 | 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 (73.69 KB )

haha.png

使用特权

评论回复
8
myxiaonia| | 2015-7-24 10:11 | 只看该作者
南海渔歌 发表于 2015-7-23 19:54
谢谢香版   但还是没解决疑问:
1、我知道F105RB属于互联型,我问的是在MDK的JLINK仿真中,需要选择一个类 ...

兄弟执着了,这个size  表示最大可以达到的值,如果你用大容量的,103vc是256KBflash,按你说得选哪个?

使用特权

评论回复
9
15113484470| | 2015-7-24 10:32 | 只看该作者
你芯片flash容量多大,就选多大,与是不是互联型有啥关系

使用特权

评论回复
10
南海渔歌|  楼主 | 2015-7-24 11:53 | 只看该作者
myxiaonia 发表于 2015-7-24 10:11
兄弟执着了,这个size  表示最大可以达到的值,如果你用大容量的,103vc是256KBflash,按你说得选哪个? ...

有道理哈,我改选互联型了,同时那个窗口里允许改写FLASH尺寸,我改成128K了,仿真发现没啥问题。   
不过原来选“中容量”,仿真也没发现啥问题。:dizzy:

使用特权

评论回复
11
598330983| | 2015-7-24 12:11 | 只看该作者
楼主的脸都被自己打了,我们怎么敢打。

使用特权

评论回复
12
lefeng| | 2015-7-24 12:36 | 只看该作者
什么是互联型,都没注意到这个问题

使用特权

评论回复
13
yklstudent| | 2015-7-24 12:40 | 只看该作者
我就看看,呵呵

使用特权

评论回复
14
amd1217| | 2015-7-24 13:04 | 只看该作者
本帖最后由 amd1217 于 2015-7-24 13:06 编辑

确实很乱,不过还是以手册为准,

2.png (42.72 KB )

2.png

使用特权

评论回复
15
myxiaonia| | 2015-7-24 15:57 | 只看该作者
南海渔歌 发表于 2015-7-24 11:53
有道理哈,我改选互联型了,同时那个窗口里允许改写FLASH尺寸,我改成128K了,仿真发现没啥问题。   
不 ...

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

按st要求做一般不会错,不按要求做可能会错也可能不会

使用特权

评论回复
16
myxiaonia| | 2015-7-24 15:58 | 只看该作者
南海渔歌 发表于 2015-7-24 11:53
有道理哈,我改选互联型了,同时那个窗口里允许改写FLASH尺寸,我改成128K了,仿真发现没啥问题。   
不 ...

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

按st要求做一般不会错,不按要求做可能会错也可能不会

使用特权

评论回复
17
南海渔歌|  楼主 | 2015-7-24 18:32 | 只看该作者
myxiaonia 发表于 2015-7-24 15:58
更本不用改,如果你有心去看看闪存编程算法的话  其实就是一些c代码
用的也是st官方的东西  那个尺寸仅仅 ...

谢谢!  可能匆忙间表达不清晰,不是改互联型的上限值,这个改不了,就是256K。改的是右下角的size,256K的尺寸是0x40000,我改成128K对应的0x20000了,于是地址范围那栏里就自动变为0801FFFFH了。我认为这个是需要改的吧。如下图:

使用特权

评论回复
18
大秦正声| | 2015-7-25 08:15 | 只看该作者
看看

使用特权

评论回复
19
myxiaonia| | 2015-7-25 09:16 | 只看该作者
南海渔歌 发表于 2015-7-24 18:32
谢谢!  可能匆忙间表达不清晰,不是改互联型的上限值,这个改不了,就是256K。改的是右下角的size,256K ...

改不改都不会影响使用  我当然是实践过才这么说的

使用特权

评论回复
20
南海渔歌|  楼主 | 2015-7-25 09:35 | 只看该作者
好的  谢谢  结贴!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

91

帖子

0

粉丝