Rick's b.log - 2011/03/10 |
|
It is the 18th of December 2024 You are 18.224.58.5, pleased to meet you! |
|
mailto:
blog -at- heyrick -dot- eu
There is a Japanese proverb which looks like this: 花より団子
I'm afraid I consider Apple products in the same fashion. This isn't to say they are bad products, but rather that their price and presentation take a cool looking ordinary product and make it something special. Thank you, know. I'd rather a less cool looking product that does what I need. And, believe me, there are many things that can match Apple if you don't mind it being a little less "sexy".
iPhone? Try any decent Android phone. My phone isn't quite as good as the iPhone4 (marginally better CPU (33MHz faster), unknown GPU, slightly smaller display, much smaller Flash (but I can use microSD cards), does 480p video (iPhone does 720HD), no front camera (it is only a 640x480 one)...
iPad? It is nice that Apple is taking on the "pad" form, given the previous failed attempts, but to be honest I think it is more an executive "toy" than serious machine. If I was on an airplane globetrotting to my next meeting, I'd take my eeePC. Why? Very small, reasonable keyboard, decent battery life, and it gets the job done.
iPod? The first worry for me is the dependence upon the iTunes software. There are alternatives, but it would be much simpler if the device could just present itself as a flash drive. It is hard to say more, because the name "iPod" spans a little several-button flash player to a thing that is basically an iPhone without the mobile telephony parts. That said, style aside, I feel there are cheaper alternatives that will get the job done and, for me, the prime criteria are:
And so on. As you can see, hana yori dango... Praise a company on its innovation, certainly, but not when it is an ordinary product placed in a nifty-looking case. To me, my eeePC901 - being a complete functional PC that weighs just over a kilogramme, depth as long as my hand, height about an inch, and width pleasingly portable. It is solid, reliable, and small. And it cost around €240ish. Hana yori dango.
You can reflash the environment, the kernel, the firmware, and the bootloader. Pretty much any of this is recoverable with the notable exception of the bootloader. Cock that up, and you're looking at a "bricked" unit, so called because it is now about as useful as having a housebrick sitting on your table.
Enter JTAG.
Originally electronic equipment was tested by placing it onto a specially-arranged bed-of-pins that would press against the board and test connections at certain places. But on modern kit this can be tricky, especially as more and more chips have connections underneath as little round blobs.
People began to realise that there were some pretty impressive debug possibilities using JTAG to hijack the device and permit its state to be altered, singe-stepped, and such.
It is well known that JTAG is often your last line of defence for a bricked unit, be it a router or satellite receiver or what-have-you. You will be able to recover an otherwise dead unit.
What wasn't clear, until now, was exactly how this is performed. I guess it was wishful thinking to imagine there would be a JTAG connection to the flash for recovery. It looks, instead, as if there are two options:
So it looks as if doing Flashy things via JTAG will require processor assistance. How to talk JTAG to the ARM926EJ? That's the next thing I need to examine. My hope is to say "build this, plug it into your parallel port, run this software" and it will recover the OSD to a state where it is capable of reflashing itself from the emergency instructions. I say this because in some cases Neuros have been kind enough to exchange bricked units, but this is generosity rather than a right, and given the age of the OSD there will be a time when there just aren't any more. With this in mind, it would make sense to investigate how we can rescue the units ourselves.
This may be possible using software such as OpenOCD, but I would prefer it to be a lot simpler. As it is, you will need to solder a connection into the OSD and make up a cable to connect this to your computer. Or, perhaps, visit a local TV repair shop who could probably do it for you. This, I'm afraid, is insurmountable. Sorry.
The first is BDASM. This seems to have a fairly simple easy to use interface. But it is marred by one massive massive flaw. It cannot handle branch targets. The jump addresses are completely messed up.
Enter the demo version of IDAPro 6. Now it would be nice if IDA sold an option where you can buy a much cheaper version that includes support for a specific processor family, for the full version does a lot of stuff I have no need for.
Can anybody suggest a decent free ARM disassembler for Windows? If not, I will have to add "rolling my own" to the ridiculously list list of things I ought to get around to doing some day...
I wonder how robust this will be? I ordered the see-through kana as the netbook version was for the US layout (look at where the " and @ are, for instance), however the transparent option is for a regular sized keyboard and, as such, needed some adjustment with scissors and a guillotine.
The original keys are a little blurry if seen at an angle (I'm about 45°), but you could argue that I've been using this layout for something like 25 years, I pretty much ought to know where everything is. I dunno, it's just reassuring to see. I guess this is from having to mentally switch between friendly QWERTY and icky French AZERTY (as far as I know, nobody else on the planet shifts for numbers!). Though, looking at the kana, I wonder how the Japanese do numerics?
Here is a brief video showing the Japanese IME (clever input method) in action, for how we type in kana (or, as I'll show, rōmaji) and get kanji out of it. For certain, it wouldn't be practical to have a three-thousand key keyboard, so there's another way...
Steve Jobs' knighthood blocked?
It has been alleged (article in TheRegister) that Gordon Brown used his position as Prime Minister in order to block the offer of a knighthood (which is available to non-British, only a slightly different version, the KBE) to the CEO of Apple, Steve Jobs. He was due, apparently, to receive one for "services to technology".
While I'm neither here nor there about the guy receiving an honour (France just gave their equivalent to Steve Ballmer of Microsoft), however perhaps more worrying is the ex-MP said, and I quote:
Apple has been the only major global company to create stunning consumer products because it has always taken design as the key component of everything it has produced. No other CEO has consistently shown such a commitment.
It is read as hana yori dango. What it means is dumplings rather than flowers.
What they're trying to say here is to express a preference for something practical instead of something pretty.
But on the plus side, I have some minor scratching on my glass front due to accidently putting it in the same pocket as my keys, otherwise the Defy has stood up well to use. Don't worry, you have to hold my phone at an angle under bright light to see the scratches. As for the famed antenna problems? Probably wouldn't affect me as I prefer to use a hands-free instead of placing a radio transmitter an inch away from my brain. But it was a pretty idiotic thing to do, to think "ooooh shiny!" could trump the obscure and complicated laws of antenna theory. I have, somewhere, a book about this. It mostly concentrates on shortwave and yagi antennae, but what I can tell you is it runs to something like 600 pages and is utterly frightening - page after page of incomprehensible maths scribbles. Probably formulae, but to be honest I don't have a clue how to even begin reading them. So... if I can find it, I'd be happy to post it to Apple! ☺
For all their efforts, I think Swype has revolutionised text input on mobile devices. I no longer have to suffer the T9 keyboard. I don't have to try to tap letters on a keyboard stuffed into a two-inch space. Instead I can drag my finger around. It isn't overly efficient (too many annoying prompts you can't disable), but it is the quickest thing I've used. Perfectly fine for writing emails on the go. And commenting on articles, reviewing stuff, etc.
But I have never written a blog entry on the go. Why? Swype's word-per-minute is a lot less than a traditional keyboard, hence why tablets never took the world by storm (until Apple made one, but how much was innovation and how much was pure showing off?).
JTAG - OMG!
I am due to receive a bricked OSD to see about reviving it. You see, homebrew flash updates can write to various parts of the flash. The flash basically being laid out as follows:
JTAG was an electronic method of performing these same tests, by using shift registers and the like to hijack the chip I/O to set up and test state. This is why it is often known as "boundary scan", for we take the device boundary (the pins connecting it to the world) and scan its state.
Pros - we'll know exactly what's going on
Cons - timing nightmare
Pros - will probably work
Cons - debugging will be fun
But once that is out of the way, I'd love to present a single executable that you plug in all the hardware bits, run this executable, and it gets on with the job. Specific to the OSD, but with no further complications. That is my hope.
Some references:
The bootloader reflash code is here (note - you'll get an https certificate warning, add it as an exception) and the controller code that manages the upgrade is here. I have no plans to support the OSD 1.5 (the one with no CF slot) at this time. I do not wish to code for something I cannot test. However, the code for the NAND programming is here.
My own code will be original, based upon the above methods and the relevant datasheets. Given it will require ARM assembly work, it is likely the initial release will work under RISC OS. Once that is working (once the ARM side is known to be reliable), I plan to make something that will work on a generic "older" PC... it'll need a real parallel port.
ARM disassembly woes
I have found two ELF-compatible ARM disassemblers that run under Windows.
That said, putting snippets of code into little boxes like this is, for sure, interesting, but it is a pain in the ass to follow what goes where. I think you need to grow up with the IDA family to get the most from it. I'd rather there be an option to just... list the disassembly. No fancy chart, and, you know, with addresses alongside! There probably is, but if so, it isn't immediately obvious.
Kana keyboard
I know I'm late with the next katakana lesson. However, in the meantime I have modified my keyboard to show katakana in addition to the usual layout.
Here's a photo:
opal, 12th March 2011, 19:17 I used to play with "RAID 7" by Raisonace (http://www.stm32circle.com/resources/tools.php). The disasm is quite ok although I have used it for stm32 Cortex-based micros only. It also allows to perform some in-circuit debugging over JTAG (Rlink). I used to play with "Circle" over it. I am not sure if it meets your requirements but give it a try - it is built around the GNU dev tool chain which is very customizable and may allow your ARM926EJ after some tweaking.
RegardsFred, 18th March 2011, 20:44 For the IDA thing, just right-click anywhere and click "Text view".
© 2011 Rick Murray |
This web page is licenced for your personal, private, non-commercial use only. No automated processing by advertising systems is permitted. RIPA notice: No consent is given for interception of page transmission. |