请高手指教:EBSS诱导自噬诱导用哪种EBSS?

请教高手指教:2812的C语言中的.reset段的含义以及其在存储器中的定位(页 1)
- MCU【C2000/MSP430/TMS470】 -
艾睿合众技术论坛
- Powered by Discuz! Archiver
请教高手指教:2812的C语言中的.reset段的含义以及其在存储器中的定位疑问一:仿真调试下载程序或把程序已烧写至FLASH后脱机上电运行程序时,程序是不是必须要执行“从0X3F FFC0处复位→执行0X3F FC00地址处的初始化引导函数(Initboot) →根据GPIO选择引导模式→确定用户程序入口地址→从入口处开始执行用户程序”这一系列过程吗?对于用C语言编程时,通常在复位地址向量处(对于F240而言,复位地址在0X0000地址处?),常需要放置指令:“B&&_c_int0”来规定初始化入口地址,意即C语言函数“_c_int0”完成的功能就是初始化引导函数(Initboot)的功能吗?但对F2812来说,复位向量地址为0X3F FFC0,处于ROM区,是一次性编程ROM,怎么把_c_int0这个入口地址放在0X3F FFC0处呢?
疑问二:由于引导模式由GPIO引脚状态决定,那对于一个已经设计好的DSP最小系统,引脚状态在硬件上已经固定好了,意即是不是此时只能局限于一种引导模式了?不能同时进行仿真调试和烧写至FLASH内进行硬件调试吗?(因为仿真调试时,用户程序入口地址一般在SARAMH0处,烧写至FLASH内进行允许时,用户程序入口地址在FLASH处。)
[ 本贴由 powerplus 于
10:50 PM 最后编辑 ]
我看到前面也有一个朋友提出了跟我一样的问题,为什么没有帮忙回答一下呢?
1:上电运行时根据MP/MC引脚的状态决定是从片外的3fffc0处读取复位向量或者时从片内的rom的3fffc0处读取复位向量。MC方式下从片内读取,MP方式下从片外读取。
2:一般我们用的是MC方式,即从片内读取复位向量,在片内的rom 3fffc0处有一个地址为3ffc00。
3:复位后处理器从3fffc0处读取3ffc00这个地址,所以程序从3ffc00处开始执行
4:3ffc00处开始的就是initboot过程吧,根据IO管教的状态判断该进入那一种引导方式
5:在SCITXA引脚为高电平时就是flash boot方式,此时置PC=3F7FF6
6:在片内flash的3F7FF6和3F7FF7处有一个跳转指令,该跳转指令就是LB _c_int00
7:执行这个跳转指令后程序就开始运行c_int00这个函数了
8:这个函数就是建立一个c程序的运行环境,等建立完c运行环境后c_int00调用main函数
9:main函数开始就是我们自己编写的应用程序了。
以上是2812上电(复位)后运行过程的描述
如果你选择了MP方式,那么3fffc0处的复位向量可以自己设置,因为此时处理器从片外的ZONE7区的ram中读取复位向量的,当然初始化引导过程也可以自己编写。
在第5步中,为选择片内FLASH,则使SCITXA为高电平。如果SCITXA还用作串口通讯,那怎么办?
SCITXA引脚有内部上拉,所以只要没有强制下拉的话,DSP检测的都是高电平。
对于通讯不影响。
SCITXA不用在外部上拉。不能直接接到高电平上。
如果不选用Flash模式,而是其它模式,需要将SCITXDA下拉为低电平,那么此种情况下又如何实现SCI通讯?
谢谢白金长老haomaru!
作为一个DSP的初学者,对于2812的C语言运行过程我一直不是很明白,我不知道其他2812的初学者遇到这个问题没有,我看到咱们这个论坛上以前有一个叫做leosnow的朋友也问到过类似的问题,询问的是2812的仿真调试和脱机运行程序的区别,当时也是白金长老haomaru作了回答,当时有一些明白,但还是很模糊,这也一直影响我学习DSP的信心,我想为什么我对2812的C语言运行过程就是弄不明白呢?今天白金长老haomaru的热心和详细的解释让我久存心中的困惑一扫而空,真是让我拨云见日,我特别感谢您,白金长老haomaru!
不过这里我还有两个疑问,期待您的回复,谢谢!
疑问1:由于引导模式由GPIO引脚状态决定,那对于一个已经设计好的DSP最小系统,引脚状态在硬件上已经固定好了,意即是不是此时只能局限于一种引导模式了?不能同时进行仿真调试和烧写至FLASH内进行硬件调试吗?(因为仿真调试时,用户程序入口地址一般在SARAMH0处,烧写至FLASH内进行允许时,用户程序入口地址在FLASH处。)
疑问2:我看王潞钢编写的《DSP C2000程序员高手进阶》一书,说C语言有7个定义好的段,即是.text 、.cinit、 .swith、 .bss、 .stack、 .sysmen、 .const等,那本书主要针对C240X系列的讲解,我不知道2812是否也是这7个段?但我看到合众达例程中以及咱们这个论坛其他朋友给的CMD文件中都有一个.reset段,我不知道这个.reset段里面一般存放的是什么内容?是您说的跳转到C语言运行环境初始化函数“c_int00”的跳转地址吗?(但我也看到一些朋友的.CMD文件不用这个段的,用“ .reset& && && &&&: & RESET,& && &&&PAGE = 0, TYPE = DSECT /* not used, */”屏蔽了,这又是什么意思啊?)很糊涂……
顶顶顶,我也想明白
1.管脚的状态可以用跳线或拨码开关来设置
2.“ .reset& && && &&&: & RESET,& && &&&PAGE = 0, TYPE = DSECT /* not used, */”
在正常使用时,并没有用到RESET段,所以TYPE = DSECT
谢谢青铜长老zxp3429!
但我还是有些不是很明白,
1、.reset是F2812 C语言默认的段还是用户自己定义的段?该段一般存放什么内容啊?
2、我想您肯定用过SEED_DEC2812模板的,我看了它的原理图,没有用到您说的拨码开关,这个模板只是利用了SCITXA引脚有内部上拉的功能使DSP工作在FLASH引导模式,这样能对模板SEED_DEC2812的DSP进行烧写吗?例程中所有的CMD文件里把.reset&&定位在SARAM里实现的是什么目的?
白金长老haomaru,这几天怎么不见您了???
[ 本贴由 powerplus 于
10:52 PM 最后编辑 ]
1、.reset是F2812 C语言默认的段还是用户自己定义的段?该段一般存放什么内容啊?
&&上电复位后,程序在3fffc0开始执行,在MC方式时,片内的rom 3fffc0处有一个地址为3ffc00既InitBoot,此时,程序会从内部InitBoot开始执行,然后根据IO管教的状态判断该进入那一种引导方式(可以看白金长老的回复,写的比较详细),因为此时在ROM中有跳转地址,.RESET不用配置,所以可以屏蔽。如果是在MP方式,那么3fffc0处的复位向量可以自己设置,因为此时处理器从片外的ZONE7区的ram中读取复位向量的,当然初始化引导过程也可以自己编写,此时,.RESET需配置一下。(详细请看《TMS320F28x Boot ROM Peripheral Reference Guide》中的相关内容,14页写的比较清楚。
2、我想您肯定用过SEED_DEC2812模板的,我看了它的原理图,没有用到您说的拨码开关,这个模板只是利用了SCITXA引脚有内部上拉的功能使DSP工作在FLASH引导模式,这样能对模板SEED_DEC2812的DSP进行烧写吗?例程中所有的CMD文件里把.reset&&定位在SARAM里实现的是什么目的? [/quote]
&&SEED_DEC2812模板没有用过,但是根据你说的情况此时是可以进行FLASH烧写的,然后执行也没什么问题,也可以防真。但有些功能可能实现不了,比如通过SCI口进行烧写FLASH等,因为此时需要将SCITXA设置为低,使片子进入SCI BOOT模式。
谢谢青铜长老zxp3429的热心回复!
可能是我资质比较低吧,也可能是我提的问题说得不清楚,青铜长老zxp3429没有办法回答我的疑问吧。到现在为止,我还是没有明白.reset段是作什么用的。
& &要是如您所说的只有在采用在MP方式时才会用到,但我现在所用的SEE_DEC2812模板采用的是MC方式,但例程中所有的CMD文件都用到了.reset段了。另外,根据我分析它的原理图,引导模式是跳转到FLASH BOOT模式,但在CMD文件却把该段定位在存储空间的H0初始位置,不知为什么?(有时我想.reset段存放的内容有没有可能是C语言运行环境初始化函数“_c_int00”的起始地址呢,那么根据FLASH BOOT模式,这个时候.reset段应该定位在3F7FF6处,但例程中把它定位在H0处,所以.reset段不应该存放的是C语言运行环境初始函数“_c_int00”的起始地址,那到底存放的对应C语言编程中的什么内容呢? )
& &另外,我看到前面有一个朋友提供了其烧写成功的CMD文件,他是把.reset段定位在了3F7FF6处,不知道这又是为什么?另外,我也看到咱们论坛有的朋友不用.reset段(即用到语句“ .reset&&: & RESET,& &PAGE = 0, TYPE = DSECT ”屏蔽掉了,但我看到在他的MEMORY文件里,其中的RESET存储块对应的是3F FFC0,这个时候不用.reset段,我想该朋友用的可能是MP方式),但在他们的CMD文件中始终有一个段定位在3F7FF6处(该段名为CODESTART,我想该段可能是该朋友自己取的,不是C语言默认的段),这又是怎么解释,真的很糊涂啊……
你描述的这个RESET段应该是两个不同的段,一个是CODESTART,一个是复位向量RESET,可能是有的人将CODESTART也用RESET来写。参看下面的例子,用的是CODESTART 段做程序入口而不是RESET,我个人认为这样的写法比较标准一些,因为这里不是复位入口而是你的代码入口:
& & .sect \&codestart\&
code_start:
& & .if WD_DISABLE == 1
& && &&&LB wd_disable& && & ;Branch to watchdog disable code
& && &&&LB _c_int00& && && &;Branch to start of boot.asm in RTS library
& & .endif
PAGE 0:& & /* Program Memory */
& &FLASH_AB& & : origin = 0x3EC000, length = 0x00BF80& &&&/* on-chip FLASH */
& &BEGIN_FLASH : origin = 0x3F7FF6, length = 0x000002& &&&/* Part of FLASHA.& &&&Used for \&boot to flash\& bootloader mode. */
& &BEGIN_H0& & : origin = 0x3F8000, length = 0x000002& &&&/* Part of H0.&&Used for \&boot to H0\& bootloader mode. */
& &RAMH0& && & : origin = 0x3F8002, length = 0x001FFE& &&&/* H0 SARAM */
/*& &ZONE7& && & : origin = 0x3FC000, length = 0x003FC0& &&&/* XINTF zone 7 available if MP/MCn=1 */
& &ROM& && && &: origin = 0x3FF000, length = 0x000FC0& &&&/* boot ROM available if MP/MCn=0 */
& &RESET& && & : origin = 0x3FFFC0, length = 0x000002& &&&/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */
& &VECTORS& &&&: origin = 0x3FFFC2, length = 0x00003E& &&&/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */
PAGE 1 :& &/* Data Memory */
& &RAMM0& && & : origin = 0x000000, length = 0x000400& &&&/* on-chip RAM block M0 */
& &RAMM1& && & : origin = 0x000400, length = 0x000400& &&&/* on-chip RAM block M1 */
& &RAML1& && & : origin = 0x009000, length = 0x001000& &&&/* on-chip RAM block L1 */
& &.reset& && && && &: & RESET,& && && && &PAGE = 0, TYPE = DSECT&&/* We are not using the .reset section */
&&/* Data Memory (PAGE 1) sections */
& &.cio& && && && &&&: & RAMM0,& && && && &PAGE = 1
& &.bss& && && && &&&: & RAMM0,& && && && &PAGE = 1& && && && && & /* Should be empty with large memory model */
& &.ebss& && && && & : & RAML0,& && && && &PAGE = 0
& &.const& && && && &: & FLASH_CD,& && && &PAGE = 0& && && && && & /* Should be empty with large memory model */
& &.econst& && && &&&: & FLASH_CD,& && && &PAGE = 0& && &
& &.stack& && && && &: & RAMM1,& && && && &PAGE = 1
& &.sysmem& && && &&&: & RAMM0,& && && && &PAGE = 1& && && && && & /* Should be empty with large memory model */
& &.esysmem& && && & : & RAMM0,& && && && &PAGE = 1
& &.switch& && && &&&: & FLASH_CD,& && && &PAGE = 0
/*** User Defined Sections ***/
& &codestart& && && &: & BEGIN_FLASH,& && &PAGE = 0& && && && && & /* Used by file CodeStartBranch.asm */
。。。。。
[ 本贴由 zxp3429 于
09:01 最后编辑 ]
[ 本贴由 zxp3429 于
09:04 最后编辑 ]
谢谢青铜长老zxp3429!您很好释疑了我的第二个问题,但对于我所请求的第一个问题依然很不清楚,麻烦您老人家再帮忙解答一下!
根据您的回复的帖子,我理解.reset 段是这么个含义:.reset 段存放的是地址0X3F FFC0处的内容,当是MC方式时,内部ROM启动,.reset 段内容为0X3F FC00,即复位后程序自动跳转到内部ROM的0X3F FC00处执行InitBoot程序,执行完成后根据GPIO引脚信号判断引导方式跳到相应位置执行用户程序;当是MP方式,外部RAM启动,.reset 段存放的内容就不是0X3F FC00了,而是我们用户自己决定的跳转到初始化引导函数(该函数的功能如同InitBoot)的地址了。由于我们一般采用的是MC方式,所以在CMD文件中屏蔽掉了.reset 段。不知我说的是不是您说的意思?
我现在的问题是:我现在用的SEED_DEC2812模板采用的是MC方式,按照您的意思,这个时候我们不应该用到.reset 段,但在它提供例程中所有CMD文件中都用到了.reset段,而且都把.reset 定位在了SARAM H0了,但该模板采取是FLASH模式,不知道什么意思?您能帮我分析一下吗?
此RESET段非彼RESET段,你说的这个RESET段应该是我说的CODESTART段,也就是根据GPIO引脚信号判断引导方式跳到“相应位置”执行用户程序中的“相应位置”即用户程序入口,它在程序中应该有类似下面的一个段定义。
.sect \&reset\&
code_start:
& & .if WD_DISABLE == 1
& && &&&LB wd_disable& && & ;Branch to watchdog disable code
& && &&&LB _c_int00& && && &;Branch to start of boot.asm in RTS library
& & .endif
此段地址如果指向 H0 SRAM,可能是防真时用的,此时虽然IO设置的是FLASH方式,防真程序是可以的,只是程序可能不是从code_start开始的,你可以试试;如果你想脱机使用,则要指向FLASH的3FF7FF6这个地址,并编译烧写入FLASH后执行。
[ 本贴由 zxp3429 于
17:39 最后编辑 ]
谢谢青铜长老zxp3429!祝您工作开心,天天愉快!
我去试试看
在SEED_DEC2812仿真程序中,引导模式设为FLASH模式,在0x3f7ff6和0x3f7ff7中的跳转指令指向.reset段。在.reset段中只包含一个转向c_int00的跳转指令。因此,此处的.reset不能理解为芯片复位后的初始地址0x3fffc0,而是引导模式下所期望的跳转地址。TI公司的这种写法容易给人造成混淆!
[ 本贴由 lhfnjj 于
11:07 最后编辑 ]
如果硬件上设置的是FALSH引导模式,但现在我却要让程序在片内H0的RAM区仿真
文件应该怎么写呢?困惑中
[ 本贴由 chinamoon 于
07:17 PM 最后编辑 ]
donghegang
好贴 ! 顶!
查看完整版本:诱导自噬(自噬,低浓度,血清)
12:41:47&&&来源:&&&评论:&&
[诱导自噬(自噬,低浓度,血清)] 大家好我想问一下诱导细胞自噬用饥饿的方法来诱导的具体是怎么做的,有人说的是用PBS或者是低浓度的血清来做,请问前辈,怎么做才是最合适的,谢谢很着急。望大家不吝赐教谢谢 关键词:[自噬 低浓度 血清]…
大家好我想问一下诱导细胞自噬用饥饿的方法来诱导的具体是怎么做的,有人说的是用PBS或者是低浓度的来做,请问前辈,怎么做才是最合适的,谢谢很着急。望大家不吝赐教谢谢
回复我也在做自噬。不同细胞诱导条件不同。可以无培养基3h,也可EBSS 2h,或者有人说PBS 15min。前面2种方法我都试过,效果不同细胞自噬体多少不一样。第三种方法我用了效果不好。另,饥饿诱导经常碰到的问题是,细胞会变圆皱缩,所以选对细胞很重要,我用NRK细胞。回复我也在做自噬,我发现有些药物长时间诱导细胞自噬的同时,在很短的一个时间内也可以引发出现短时间的自噬现象,这种情况需要考虑吗?该怎么解释呢?
将本文分享到下面的网站:
相关热词搜索:
[诱导自噬(自噬,低浓度,血清)]延伸阅读:
频道总排行
频道本月排行丁香客App是丁香园社区的官方应用,聚合了丁香园论坛和丁香客的精彩内容。医生可通过丁香客App浏览论坛,也可以在这个医生群集的关系网络中分享和互动,建立更广泛的学术圈子。
扫描二维码下载
今日:8 | 主题:404405 | & 收藏本版
每发1个新帖可以获得0.5个丁当奖励
【求助】自噬诱导剂EBSS
【求助】自噬诱导剂EBSS
分享到哪里?
这个帖子发布于3年零331天前,其中的信息可能已发生改变或有所发展。
请问各位学长、前辈,EBSS诱导自噬用哪种型号和哪个公司的?如何使用?还有诱导自噬哪种方法比较好?谢谢!期待高手给予帮助!
回复:【求助】自噬诱导剂EBSS
分享到哪里?
最近也在做自噬,诱导自噬用的是Rapamycin自噬诱导剂
回复:【求助】自噬诱导剂EBSS
分享到哪里?
我也做自噬,同问
回复:【求助】自噬诱导剂EBSS
分享到哪里?
wangkai0418 最近也在做自噬,诱导自噬用的是Rapamycin自噬诱导剂您好,请问您用的Rapamycin是什么浓度,诱导多长时间,谢谢
回复:【求助】自噬诱导剂EBSS
分享到哪里?
请教各位常做autophagy的前辈,饥饿诱导条件,如HBSS,EBSS,这两种缓冲液是否需要有钙,镁离子的呢,因为我准备订购,发现Sigma或gibico的都分with or without Calcium, Magnesium。
回复:【求助】您好,请问您用的Rapamycin是什么浓度,诱导多长时间,谢谢
分享到哪里?
200nM,400nM Rapamycin(Sigma)都用过,作用6个小时就可以
消化内科(医学生)
回复:【求助】自噬诱导剂EBSS
分享到哪里?
请问你最后用的是哪个牌子的EBSS?自噬饥饿诱导可以用hanks?
回复:【求助】自噬诱导剂EBSS
分享到哪里?
临巫巫格 请问你最后用的是哪个牌子的EBSS?自噬饥饿诱导可以用hanks? 我也想知道答案,最近要做
关于丁香园

我要回帖

更多关于 自噬诱导 的文章

 

随机推荐