您好,
很感谢您的回复,我把第3个问题理解了。补充下:
1.对于第二个问题,在“1.4 Functional Block Diagram”中有标明,应该是cpu1,2各占有D0和D1各2Kb?无论是单核使用还是双核使用,每个CPU最多可以用到
M0,M1各1kb,D0,D1各2kb?
2.对于第一个问题,对于2837xd,从datasheet看RAM的空间(memory map)应该是由M0/M1,D0/D1,LSX0-LSX5,GS0-GS15,MSG这五个部分组成,我算下
来是168kb。是不是 应该包括寄存器的空间以及USB RAM和EMIF2等空间呢?要不然算不出最大的204kb吧?
3.关于TI给的官方例程,“F2837xD_examples_Dual”中的例程应该是双核的工程分别下载吧?那为什么每个工程如cpu01或者cpu02中都没有cmd文件,那如果
这两个工程下载到芯片中运行的ram在两个内核应该如何分配?是不是需要自己分别在两个工程中配置cmd文件来分配两个核使用的RAM?
4.承接问题3,在“controlSUITEdevice_supportF2837xDv100F2837xD_commoncmd”也就是TI官方提供的cmd文件夹中有不少cmd文件,举其中
的“2837x_RAM_lnk_cpu1”和“2837x_RAM_lnk_cpu2”来看,是不是下载程序时可以把这两个文件分别加到两个工程中?从下载到的“Labs”里面的“Lab4”来
看,其中Lab4_cpu01和Lab4_cpu02分别用了上面讲的两个cmd。但是如果仔细看这两个cmd的话,我看到的主要不同是两者的RAMM0其实地址和长度不
同,其他都一样。那这里的问题就是,之前讨论的M0/M1,D0/D1应该都是各cpu各有一套,但是无论是“2837x_RAM_lnk_cpu1”还是“2837x_RAM_lnk_cpu2”,
里面标注的M1都是1KW,D0/D1都是2KW,而且地址相同。根据Memory Map以及“1.4 Functional Block Diagram”来看,我的理解是这样的:M0/M1,D0/D1,LSx
都是每个cpu各有一套的,但是他们的地址相同,长度相同,双核同时使用的时候不需要关心其分配,系统自动分配?如果只使用单核的话,M0/M1各可以用到
1kw,D0/D1各可以用到2kw,也就是同样可以用满这些空间?从functional block来看,会以为是cpu1,2的M0都有1kw,D0都各有2kw,但实际从memory map来
看系统给两个cpu分配的M0空间总共也就是1kw,D0总共也就是2kw,那只能理解为两个cpu是公用的,实际使用多少再分配,但能保证是互斥?
5. 以前用的是28335,双核的从来没有用过,所以对双核的机制很陌生,“spruhm8”内容太多,是不是可以主要从1 SC, 2.ROM, 5.IPC, 6.GPIO, 23 EMIF这几部分
内容来把握双核机制的,至于具体外设使用时再说?或者能否借鉴F28M35x的使用来理解377D?
6.最新版的CCS5.5也不支持28377D的开发,是要下载插件吗还是?另外如果还是用CCS3.3的话能否开发28377D,如果能,应该下载哪些插件?
ps.问题有点多,实在很不好意思,谢谢。
您好,
很感谢您的回复,我把第3个问题理解了。补充下:
1.对于第二个问题,在“1.4 Functional Block Diagram”中有标明,应该是cpu1,2各占有D0和D1各2Kb?无论是单核使用还是双核使用,每个CPU最多可以用到
M0,M1各1kb,D0,D1各2kb?
2.对于第一个问题,对于2837xd,从datasheet看RAM的空间(memory map)应该是由M0/M1,D0/D1,LSX0-LSX5,GS0-GS15,MSG这五个部分组成,我算下
来是168kb。是不是 应该包括寄存器的空间以及USB RAM和EMIF2等空间呢?要不然算不出最大的204kb吧?
3.关于TI给的官方例程,“F2837xD_examples_Dual”中的例程应该是双核的工程分别下载吧?那为什么每个工程如cpu01或者cpu02中都没有cmd文件,那如果
这两个工程下载到芯片中运行的ram在两个内核应该如何分配?是不是需要自己分别在两个工程中配置cmd文件来分配两个核使用的RAM?
4.承接问题3,在“controlSUITEdevice_supportF2837xDv100F2837xD_commoncmd”也就是TI官方提供的cmd文件夹中有不少cmd文件,举其中
的“2837x_RAM_lnk_cpu1”和“2837x_RAM_lnk_cpu2”来看,是不是下载程序时可以把这两个文件分别加到两个工程中?从下载到的“Labs”里面的“Lab4”来
看,其中Lab4_cpu01和Lab4_cpu02分别用了上面讲的两个cmd。但是如果仔细看这两个cmd的话,我看到的主要不同是两者的RAMM0其实地址和长度不
同,其他都一样。那这里的问题就是,之前讨论的M0/M1,D0/D1应该都是各cpu各有一套,但是无论是“2837x_RAM_lnk_cpu1”还是“2837x_RAM_lnk_cpu2”,
里面标注的M1都是1KW,D0/D1都是2KW,而且地址相同。根据Memory Map以及“1.4 Functional Block Diagram”来看,我的理解是这样的:M0/M1,D0/D1,LSx
都是每个cpu各有一套的,但是他们的地址相同,长度相同,双核同时使用的时候不需要关心其分配,系统自动分配?如果只使用单核的话,M0/M1各可以用到
1kw,D0/D1各可以用到2kw,也就是同样可以用满这些空间?从functional block来看,会以为是cpu1,2的M0都有1kw,D0都各有2kw,但实际从memory map来
看系统给两个cpu分配的M0空间总共也就是1kw,D0总共也就是2kw,那只能理解为两个cpu是公用的,实际使用多少再分配,但能保证是互斥?
5. 以前用的是28335,双核的从来没有用过,所以对双核的机制很陌生,“spruhm8”内容太多,是不是可以主要从1 SC, 2.ROM, 5.IPC, 6.GPIO, 23 EMIF这几部分
内容来把握双核机制的,至于具体外设使用时再说?或者能否借鉴F28M35x的使用来理解377D?
6.最新版的CCS5.5也不支持28377D的开发,是要下载插件吗还是?另外如果还是用CCS3.3的话能否开发28377D,如果能,应该下载哪些插件?
ps.问题有点多,实在很不好意思,谢谢。
举报