2019-08-20 19:14发布
正点原子 发表于 2017-4-19 11:13 你去看看STMFLASH_Write函数,写入的最后一个参数,是以什么为单位的? 是不是u16?如果是,那么每次不 ...
richthoffen 发表于 2017-4-19 19:12 你说我笨,笨就笨吧,我知道你很强,能学到东西慢一点也无所谓. STMFLASH_Write(fwaddr,iapbuf,1024);这个 ...
最多设置5个标签!
你说我笨,笨就笨吧,我知道你很强,能学到东西慢一点也无所谓.
STMFLASH_Write(fwaddr,iapbuf,1024);这个函数中,iapbuf指向的数据的确是16位的,这个函数的意思是将1024个16位数据写入fwaddr指向的地址里,可是我觉得如果fwaddr指向数据是8位数据你的注解是没错的,16=8*2,可是看了整个代码无论是fwaddr和appxaddr指向的数据都没说是8位,而是"jump2app=(iapfun)*(vu32*)(appxaddr+4);"即appxaddr指向数据vu32,这样的话注解16=8*2就不对了.
你回答了我好几个问题,我想我以后一定会找个方法来感谢你,谢谢你对我的指教.
一般来说,地址都是以8位字节地址为基础的
一个u32,他会占用4个字节地址
所以你看STM32的寄存器地址,如果寄存器是32位的,那么他下一个寄存器的地址,必定是在前一个地址的基础上加4.
一周热门 更多>