Quote:
Quote:
Hi tnt, the EFIKA is a production card and not primarily targeted to a hardware development phase.
But JTAG (more precisely the COP protocol implemented over JTAG, not the boundary scan part) is useful for software development phase, at least low-level software development phase. And don't tell me you don't want people to devellop low level software on this board, since a lot of those have been distributed for "OS related" projects.
I will say that I do know you got a board under the premise of helping maintaining MPC5200B Linux support for the platform (as did Grant etc.)
If I am not very much mistaken, Linux does already boot, work pretty darn well on the MPC5200B and Efika, and so on.
Define 'low-level software' for me, I would love an example that doesn't include "porting some open source BIOS". Do you mean porting operating systems? That is considerably high level in my view. The Open Firmware interface is VERY well documented. We provided (via David's great article) documentation and examples, alongside the already very easily obtainable IEEE standards docs and recommended practises for the firmware.
How long does it take to port an OS to the Efika? Well, they got the OpenSolaris kernel booting in about a microsecond because of the firmware similarity with the Pegasos, and the fact that the MPC5200B is in a completely ready-to-use state.
There is very little "low-level" stuff to do. You don't need to touch any chip configuration or poke at the bus clocks, the firmware does it for you. The PSC's are set up where they are fixed function, for you. The RAM is done, the ethernet is ready, the disk controller turned on and detected some disks, lights are blinking and all manner of fun stuff.
Quote:
That's exactly why I don't understand why you seem to insist on preventing people from using it at it's full potential ?
A few example :
- no jtag (already covered in like ... the rest of this post)
Indeed and we don't see a problem. In thousands of sales of Pegasos, do you know how many of these developers, users, government contractors etc. and embedded systems vendors individually asked for a JTAG connector?
I can count them on one hand!
QNX have been working with us for a long while now. They NEVER asked for JTAG support. How come QNX can get along without it, but these developers can't?
Quote:
- no I2C header (would be great to just plug in one of those LCD display on I2C), even on PC you can find I2C headers on the mother boards ...
You find SMBus headers, which is usually a seperate bus from the real I2C controller in the chip. In the Efika the I2C bus is connected to the RAM and the RTC/nvram PIC (iirc) - in our view letting people poke around on this bus is pretty dangerous. They can destroy the RAM, trash the code in the PIC, and end up with a non-booting board.
You can use I2S via the IrDA connector; put PSC6 into "Codec" mode et voila. I2S and I2C are for all intents and purposes the same thing (at least connecting one to the other is a matter of small amounts of thought and a little extra software).
Quote:
- no gpio/spi/... Any expansion would be good. Looking at some of the projects, especially the HW ones, I guess some people would find this useful. For example the very first project (actually an Example from Matt) : Kurobox competitor. It would certainly be useful to have some GPIO to blink some status leds.
The IrDA connector is PSC6 exposed; you can reconfigure it for 3 GPIO pins. You know the MPC5200B already, so this should be painfully obvious how to acheive.
We do admit we made a small error in judgement about the accessibility of GPIO pins; however you CAN reconfigure the PSC currently attached to the RS232 connector for GPIO (which also gives you a very nice, standard connector - actually a lot of robotics controllers do the same) and in a later revision of the board, we WILL have a seperate connector next to IrDA, with all the other PSC6-group pins exposed so you can have all 4 pins, and a clock source, and all that jazz as in the documentation.
Using any other GPIO pins would disable huge swathes of the board due to pin sharing on the SoC. Changing the behaviour of these would be rather dangerous, and considering the unpredictable nature of devices connected to either bus (imagine a disk on the ATA controller and a PCI card connected, while you reused the ATA/PCI pins for GPIO..).
Quote:
Yes, people doing low level sw ... Now why do you want to prevent those people to work efficiently in porting OS the Efika ...
They never needed it before. We aren't 'preventing' anyone from doing anything. There is always a way to do something that doesn't require JTAG.
Quote:
And the "you don't need it" reason certainly doesn't convince me. You don't *need* it on a iPaq, on a kurobox, on a settopbox, but it's still there, without the header soldered but it's there.
I think we would do better to teach you all how to do software development without thousands of dollars of external/remote debugging tools, as I think it is a useful skill. We love the idea of 'native development' - compiling Power Architecture code on a Power Architecture development box. Using the Pegasos (RIP) for building Efika binaries. In fact the same kernel compiled for CHRP runs on Pegasos *AND* Efika. This is the beauty of the firmware.
Since Linux already works, you don't really have any problem with missing JTAG apart from your wont to travel and debug from hundreds of miles away. But GDB, a kernel debugger and a serial terminal wouldn't work for you? How would a JTAG debugger do better?
Quote:
I think there may be another reason you don't want to tell.
It really is simply not wanting the PCB to become a wirey mess of connectors people don't use. If you put in the JTAG connector and then someone wants a new feature for a large production, it's annoying to have to move it out of the way if it's already on the PCB. It's an extra part to consider when buying parts. It does cost money for people during manufacture to place these components on the board. Multiply the extra cent, the extra second, by a million units, and add in some engineer frustration having to move the JTAG connector to put another chip on the PCB :)
Quote:
I ended up doing most of the actual developpment work on the Lite5200, then just run the already tested driver on the Efika. Unfortunaly I have no other card with sound (lite5200b doesn't have ac97 codec) ... But every one doesn't have those ... (well ... to be fair everyone doesn't have a 2500$ hw JTAG debugger either ...)
We have more Efika in the hands of Linux developers now, I think, than Lite5200B boards exist in the world - period.
I am fairly sure you can do all your work; perhaps not with your usual 'autopilot' you get with a well-trained and ingrained use of JTAG, without that hardware.
Considering those boards have gone to developers who simply do not have that hardware around ($2500 JTAG debugger and.. another PC to run that debugger on adds another few hundred dollars, plus the electricity... the hassle.. it mounts up :)
It would be so much easier if people found a nicer way. We think we did, it's called Firmware That Doesn't Suck.
Quote:
Note: I don't really expect an answer as it's obviously going nowhere ...