Warning: mysqli_real_connect(): Headers and client library minor version mismatch. Headers:50625 Library:50543 in /sites/rockbox.org/flyspray/adodb/drivers/adodb-mysqli.inc.php on line 108 FS#11218 : New build target: iriver E10



FS#11218 - New build target: iriver E10

Attached to Project: Rockbox
Opened by Olle Bergkvist (ollebe) - Sunday, 25 April 2010, 17:32 GMT
Task Type Patches
Category Operating System/Drivers
Status Unconfirmed
Assigned To No-one
Operating System Another
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


New build target, for iriver E10.

A lot of target-specific functions are missing, so it doesn't compile when it reaches the linker. But I think it's about time to insert the build target into SVN, and #rockbox seems to agree.

Also, building a simulator build works quite well. The simulator BMP and the keymaps needs some work, but it works pretty well, including music playback.

I've done some testing with building for other targets and nothing seems to be broken by this patch. I couldn't figure out how to include the BMP in the patch so i attach it separately.
This task depends upon

Comment by Olle Bergkvist (ollebe) - Sunday, 25 April 2010, 17:47 GMT
I don't own the copyright for the BMP image, sorry. I'll find a better one, meanwhile, just ignore the attached BMP. I can't remove it.
Comment by Marcin Bukat (MarcinBukat) - Saturday, 08 May 2010, 19:45 GMT
1) Commiting broken code is not good practice. Missing functions should be at least empty stubs to compile cleanly.
2) I can't find any page documenting somehow Your work so it is really hard to judge.
3)The patch contains lots of "FIXMEies" which are no go in official commits. In firmware/export/s5l8700.h You rename some well established constants. Did You tested the impact of the changes on other rockbox targets?

Finally there is much more serious issue - as far as I remember You do not know how to run Your own code on this device (correct me if I am wrong). For me it is by no means the most important point when considering commit. Without knowledge how to inject and run arbitrary code it is pointless to commit anything.
Comment by Marcin Bukat (MarcinBukat) - Saturday, 08 May 2010, 19:48 GMT
Ok I found the page: http://www.rockbox.org/wiki/IriverE10Info but it is nothing more than photos of chips.
Comment by Olle Bergkvist (ollebe) - Saturday, 08 May 2010, 22:53 GMT
4) After a discussion in IRC I have understood that more work needs to be done in order for this to be meaningful. Especially executing arbitrary code, indeed. At the moment I don't spend much time on Rockbox, and I don't know when I'll return.

1) I know, I will fix that.
2) I know, I will fix that.
3) About FIXMEs: I know and I will fix that.

About the renamed constants: The original constants were named according to the datasheet by whoever wrote s5l8700.h. In this datasheet, ATA_COMMAND and friends were chip specific registers controlling the whole CF/ATA system. However, the Rockbox driver code already used the same names referring to some other registers, used for communications with the ATA device. Therefore I had to rename the old ATA_COMMAND etc and define new ones for the intended registers. So I see this as fixing code rather than breaking.

Yes I did test building ipod Nano2G which uses this SoC. No problems at all. However, there is no Rockbox target that uses this SoC and ATA. E10 is the first one, which explains why the code could indeed be broken-ish in the first place. No one used these macros from this header.