ffxz 发表于 2010-9-27 17:08:10

才发现avr32是big endian的

今天gzhuli说了才知道avr32是big endian的

原来RT-Thread设计的时候并没太多考虑过big endian,因为x86是little endian的,ARM也多是little endian,所以默认是采用little endian来思考。

然后gzhuli确认说,RT-Thread kernel/filesystem/finsh/GUI在AVR32上都没问题,神了~~

0.4.x版本得专门加一个宏以区分当前系统是little endian还是big endian。

mowin 发表于 2010-9-27 22:44:52

哈哈,AVR32是big endian
以前(08年)我刚开始用UC3B0做WAVE播放器的时候,就是因为没有注意这个,听了几天沙沙声

gzhuli 发表于 2010-9-27 23:05:10

刚试了下,发现FS还真有问题,中文长文件名是乱码,估计和你今天的情况一样,ff_convert的顺序没处理好。

gzhuli 发表于 2010-9-27 23:43:36

果然是这个问题,因为AVR32的ROM比较小,我用了radio的文件转换表ff_convert代码,传入的src参数没事,fatfs已经处理正确,但读文件出来的字节顺序就反了。
如果直接用fatfs的cc936.c,是没问题的。

ffxz 发表于 2010-9-28 09:44:13

0.4.x开发分支在endian上得仔细考虑了,gzhuli多测试下,内核相关的修改请直接提交到google svn上。

gzhuli 发表于 2010-9-28 10:03:40

GUI比较可能出问题的地方是color space转换,这个还没测试过。
页: [1]
查看完整版本: 才发现avr32是big endian的