This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
尊敬的 Fellas:
我开发引导加载程序。 它从 CAN 总线获取应用程序字节、然后将其写入适当的闪存扇区。
引导加载程序和应用程序位于 CPU1上。 每个地址16位宽度。
我使用 Fapi_issueProgrammingCommand ()写入数据的最小值为64位。 但是、当我检查应用.hex 数据时、
我意识到某些数据低于64位。 例如
%1663F8000BC010A8000000 ->地址:000BC010数据:A800 0000
可以写入16位数据吗? 如果不是、正确的策略是、在将其写入小于64位的0xFF 闪存填充之前?(写入 A800 0000 FFFF FFFF)
此致。
您好!
我们的专家目前不在。 请等待7-8天的回复。
此致、
Divyansh
您好!
感谢您的通知
我也重新读取 SPRAD51A(CAN Flash Programming ), CopyApplication()函数(从 flash_kernel_ex5_dcan_flash_kernel.c 调用)。 它对8个字编程一次。(128位)
我想知道是否从应用程序选择了 align (8)、这是否是编译器保证每个存储器地址距离最小128位?
因为如果指定地址的数据低于128位、则在写入之前、l 将填充0xff、直到 size 是到达128位。
此致。
尊敬的 Attila:
是的、编译器的 align (8) 等效于128位对齐。 对于应用程序的链接器 CMD 文件、您也可以对段使用 palign (8)、并使用填充作为0xff。
谢谢!
Charles