搜索
bottom↓
回复: 15

9260挂NandFlash,傻呵呵地把数据线搞反了,发个字节转换表

[复制链接]

出0入0汤圆

发表于 2012-4-10 23:39:16 | 显示全部楼层 |阅读模式
本帖最后由 Achin 于 2012-4-10 23:49 编辑



转换表如下:

  1. unsigned charByteSwapTable[256] =

  2. {

  3. 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,

  4. 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8,

  5. 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4,

  6. 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc,

  7. 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2,

  8. 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa,

  9. 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6,

  10. 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe,

  11. 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1,

  12. 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9,

  13. 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5,

  14. 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd,

  15. 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3,

  16. 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb,

  17. 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7,

  18. 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff

  19. };
复制代码
指令、地址、数据访问宏修改为:

  1. #define WRITE_COMMAND(raw, command)     {*((volatile unsigned char *) raw->commandAddress) = (unsigned char) (ByteSwapTable[command]);}

  2. #define WRITE_ADDRESS(raw, address)     {*((volatile unsigned char *) raw->addressAddress) = (unsigned char) (ByteSwapTable[address]);}

  3. #define WRITE_DATA8(raw, data)          {*((volatile unsigned char *) raw->dataAddress) = (unsigned char) (ByteSwapTable[data]);}

  4. #define READ_DATA8(raw)                 (ByteSwapTable[(*((volatile unsigned char *) raw->dataAddress))])
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-4-11 09:55:10 | 显示全部楼层
哈哈,这个错误比较有意思,变相加密吧。

出0入0汤圆

 楼主| 发表于 2012-4-11 21:47:38 | 显示全部楼层
kelp 发表于 2012-4-11 09:55
哈哈,这个错误比较有意思,变相加密吧。

嘿嘿,我也是这样想的

出0入0汤圆

发表于 2012-4-11 21:52:12 | 显示全部楼层
换线序很正常……布线图省事儿常干。
不过如果BootLoader从NAND加载代码的话,可能产生问题,主要是芯片操作指令和识别的问题;其它的无所谓。

出0入0汤圆

发表于 2012-4-11 23:00:11 | 显示全部楼层
不明白,可以不用转吧,只是存储的时候反的,写的时候是反的,但读回来的时候也是反的啊,不用管数据在里面的位怎么存储

出0入0汤圆

发表于 2012-4-11 23:05:41 | 显示全部楼层
lghtjpu 发表于 2012-4-11 23:00
不明白,可以不用转吧,只是存储的时候反的,写的时候是反的,但读回来的时候也是反的啊,不用管数据在里面 ...

好像地址不能反吧!

出0入0汤圆

发表于 2012-4-11 23:12:35 | 显示全部楼层
SDRAM一般迁就画板方便线序可以调,NAND不行么?

出0入0汤圆

发表于 2012-4-11 23:13:49 | 显示全部楼层
NAND不行,发的命令必须要符合芯片的要求。

出0入0汤圆

发表于 2012-4-11 23:15:32 | 显示全部楼层
哦,对哦,要发命令

出0入0汤圆

发表于 2012-4-11 23:39:57 | 显示全部楼层
线乱了, 调整数据 ?

出0入0汤圆

 楼主| 发表于 2012-4-12 00:14:01 | 显示全部楼层
shangdawei 发表于 2012-4-11 23:39
线乱了, 调整数据 ?

数组表的目的就是为了快速调整数据

出0入0汤圆

 楼主| 发表于 2012-4-12 00:15:34 | 显示全部楼层
dr2001 发表于 2012-4-11 21:52
换线序很正常……布线图省事儿常干。
不过如果BootLoader从NAND加载代码的话,可能产生问题,主要是芯片操 ...

幸好有个DF,SAM-BA是连不上NAND了,一点execute,直接程序假死

出0入0汤圆

发表于 2012-4-12 10:05:06 | 显示全部楼层
lghtjpu 发表于 2012-4-11 23:12
SDRAM一般迁就画板方便线序可以调,NAND不行么?

NAND在读写时需要使用寄存器,SDRAM不用涉及寄存器读写,所以SDRAM是可以调整数据线的。

出0入0汤圆

 楼主| 发表于 2012-4-13 10:33:50 | 显示全部楼层
SDRAM也有个模式寄存器要配置呢……不过配置这个只需要一条语句,整个程序里估计也就执行那么一次。不像nand,读和写都要程序控制。貌似norflash也可以调线序,但是那样就做不了页编程和页读取了。

出0入0汤圆

发表于 2012-4-13 10:50:42 | 显示全部楼层
挺有趣的

出0入0汤圆

发表于 2012-4-14 09:23:03 | 显示全部楼层
这样加密,
也挺有趣的,
就是要其他要多做一些了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 17:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表