mailto: blog -at- heyrick -dot- eu
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.
There is a Japanese proverb which looks like this: 花より団子
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.
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)...
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! ☺
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.
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?).
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:
- Can plug into any computer. My Zen is a half-win here, for the Zen itself requires specific software to upload content to it, however it accepts standard FAT formatted SD cards, plus the Zen can act as a flash disc for the SD card.
- Can play media. Mostly a win for my Zen, for while the video is limited to 320x240 (it isn't a new device!), it has not had problems with MP3s at constant or variable bitrate, up to 320kbit. I try to avoid other formats (aac, m4a, etc) as these are less widely supported.
- Good battery life. To use my Zen for comparison, I can get around 4-5 hours of video, 7-9 hours playing from SD card, and 10-12 hours playing from internal memory. This is for a device that has been used heavily, and a battery that has probably undergone 5-600 discharge/recharge cycles. I will have to consider the possibility of getting another soon, but for now it soldiers on.
- Reliable. I know how to open my Zen, given the last time I pulled my tunic top off (at work) it fell out and the casing popped open. This would be about the fourth time it has dropped from over a metre onto a solid concrete floor. I think I've killed it, but it keeps on playing. Hell, the screen isn't even broken. I really don't think I will find a more reliable bit of kit than my Zen, which has withstood a lot of idiotic lapses of memory on my behalf.
- User interface. I cannot comment on the iPod. There are some annoying quirks of the Zen, but it offers a facility to make a playlist of favourites with the option to play them all, repeatedly, in random order. That's all I ask.
- Sound quality. I like decent bass, but I find the majority of players don't have a problem here - it's the headphones/earphones that are lacking. I also like hiss-free playback and I find, again, that most decent players are not afflicted with this. I also like undistorted playback, and again, the majority of distortion can be traced back to the mp3 encoder and its options (i.e. too low a bitrate, or choosing speed over quality).
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.
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:
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.
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.
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.
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:
- Hijack the processor, disengage the core, use the I/O to bitbash data into the flash.
Pros - we'll know exactly what's going on
Cons - timing nightmare
- Hijack the processor, push, via it, some code and a firmware image into RAM, the code will read the image and program it into flash.
Pros - will probably work
Cons - debugging will be fun
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.
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.
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.
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.
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.
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 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:
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...
Please note that while I check this page every so often, I am not able to control what users write; therefore I disclaim all liability for unpleasant and/or infringing and/or defamatory material. Undesired content will be removed as soon as it is noticed. By leaving a comment, you agree not to post material that is illegal or in bad taste, and you should be aware that the time and your IP address are both recorded, should it be necessary to find out who you are. Oh, and don't bother trying to inline HTML. I'm not that stupid! ☺ ADDING COMMENTS DOES NOT WORK IF READING TRANSLATED VERSIONS.
You can now follow comment additions with the comment RSS feed. This is distinct from the b.log RSS feed, so you can subscribe to one or both as you wish.
|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.
|Fred, 18th March 2011, 20:44|
For the IDA thing, just right-click anywhere and click "Text view".
(Felicity? Marte? Find out!)
List all b.log entries
Return to the site index
PS: Don't try to be clever.
It's a simple substring match.
Last read at 07:07 on 2021/03/08.
© 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.