RISC OS on the TI OMAP3530 Evaluation Module?
Pages: 1 2
Tyson Key (572) 16 posts |
Hi, I’m relatively new to the RISC OS Open scene – although I’ve used earlier versions of RISC OS (3.x) eons ago, and I’m interested in seeing how things have progressed since then. Given that ROS runs on the BeagleBoard, which contains the same SoC (albeit seemingly in a different configuration) – and that I’m one of the handful of people (un)fortunate enough to have a NABB (a TI/Mistral TMDSEVM3530) instead of a BeagleBoard, after recently being given a spare review unit that a friend had, does anyone know how feasible a port would be? I’ve already attempted to see if I can boot a BeagleBoard ROM using U-Boot – but the seeming lack of UART output suggests that it obviously isn’t working; and from what I can understand from looking at ROS HAL and Linux kernel source code and various technical documents floating around, over the course of a few hours, there’s supposed to be a mechanism in place to prevent booting on “unsupported” hardware. Unfortunately, my ARM Assembler knowledge is lacking, and I haven’t got any JTAG emulation hardware (or a machine running RISC OS), so I probably can’t help too much with implementation. Any thoughts? |
Trevor Johnson (329) 1645 posts |
Is it this OMAP35x EVM?
If you think it’s mainly a video issue, going back to your previous RO3.x days, you’ll probably remember that Ctrl-G at the command line should give you a beep. Maybe you’ve already tried this. It may also be worth blind typing |
Jeffrey Lee (213) 6048 posts |
The fact that he says there’s no UART output suggests it could be something bigger than that. Which UART were you looking at? UART3 is the one that all the current boards use for debug output. I’d assume that that’s the same as for the EVM board, but maybe it’s different. Getting RISC OS up and running on the board should be fairly easy, just a case of tweaking a few bits in the HAL. Some time in the next day or two I’ll try and find the time to take a look at the EVM hardware docs and see if I can produce a build for you. |
Tyson Key (572) 16 posts |
Sorry for the delayed response. That’s the one, Trevor. (I’ve got a Revision G board (if the screening on the PCB is to be trusted) – albeit with a pre-installed TI WL1271 802.11/Bluetooth daughterboard), if it makes a difference). Given that I’ve only just received a DVI-D/HDMI adapter, and need to find a USB keyboard, I haven’t had chance to see if I can get audio or video output working. As for UARTs, I’m currently using UART1/2 (which is the default sink for at least U-Boot debugging output; and seems to multiplex UARTs 1 & 2 somehow), although I’ll have another go with UART3 later. If I quickly switch ports after issuing the final bootloader CLI command, all that I see in CuteCom’s output widget is a hexadecimal number (a port ID?). If it helps, I’m currently using a spare 2GB SD card containing a copy of U-Boot/X-Loader from this page plus a “raw” RISC OS ROM image extracted from a recent BeagleBoard archive; and attempting to boot using the following commands:
fatload mmc 1 0×82000000 riscos go 0×82000000 I’ve also attempted to substitute For a sector dump of that card, the GNU
Prior to, and after issuing the aforementioned commands, I see:
Texas Instruments X-Loader 1.47 (Jan 14 2011 – 15:43:28) 212836 Bytes Read from MMC U-Boot 2010.06 (Jan 14 2011 – 15:43:45) OMAP3430/3530-GP ES3.1, CPU-OPP2 L3-165MHz
In: serial OMAP3_EVM # mmc init mmc1 is available mmc1 is available reading riscos 4194304 bytes read OMAP3_EVM # go 0×81000000
The boot process then seems to stall, at that stage. I’ve also attempted to use a modified copy of the card containing Windows CE that shipped with the board (I just moved everything to a new “WINCE” directory, and copied over the “u-boot.bin” and “MLO” files from the Android package), and receive the same result. The GNU I look forward to trying out your ROM, Jeffrey – but in the meantime, I hope that helps. :) |
Jeffrey Lee (213) 6048 posts |
I’d guess that since the EVM uses UART 1/2 for debug output, it doesn’t bother to initialise UART 3 at all. RISC OS does use currently UART 3 for debug output, but doesn’t bother initialising the port either, since (for all the other OMAP boards) the port will have already been initialised by x-loader/U-Boot. So when you connect via UART 3 you’re probably just seeing random garbage from the port not being initialised properly. If you’re lucky you might be able to get USB & video working using the current build. But I wouldn’t be surprised if you’re not able to get anything working at all until I add EVM support to the ROM image. |
Tyson Key (572) 16 posts |
That makes sense, Jeffrey. Curiously, despite the “Quick Start Guide” in the box telling users to connect their RS-232 cable to UART3, prior to booting the Windows CE demo card, it appears that no debugging output is dumped there (although I think that I managed to get the client-side PPP implementation partially working on it). Of course, that demo doesn’t seem to dump debugging output on UART1/2, either… I wouldn’t be surprised if that’s the reason why Symbian^3 boots are mute/deaf, too – although that’s a matter for another venue. :) That said, I’ve just tested the board’s USB EHCI Host port with my Nokia N73 in USB Mass Storage mode, and although my phone’s USB stack realises that it’s connected to a host, I don’t immediately see anything in U-Boot’s output to suggest that it’s capable of utilising it as a bootable device. Additionally, it appears that video output via DVI doesn’t work, since the Samsung plasma TV in the lounge displays “No Signal” – which is what I expected, prior to testing, just now. |
Tyson Key (572) 16 posts |
I realise that others are busy with more pressing matters, and I’m probably beating a dead horse now – but has anyone got around to investigating this, out of curiosity? Between university; life in general; other projects; and a mobile software development contract, I haven’t had much time to do anything with RISC OS, recently. I suppose that not having a copy of the toolchain, or another RISC OS machine doesn’t help, either… Thanks. |
Trevor Johnson (329) 1645 posts |
Suggestions for your Christmas list: |
Jeffrey Lee (213) 6048 posts |
It’s still lurking on my todo list, unfortunately. I’ll see if I can find the time to look at it tomorrow. |
Jeffrey Lee (213) 6048 posts |
I’ve uploaded a ROM image here which should hopefully work OK on your EVM board. A few notes:
Let me know how you get on. If video & USB are working then I can upload a build with the debug terminal disabled so you can make proper use of the machine. |
Dave Higton (281) 668 posts |
The BBxM being the obvious exception? |
Jeffrey Lee (213) 6048 posts |
That and the TouchBook. |
Tyson Key (572) 16 posts |
Hi Jeffrey, Apologies for the delayed reply – and thanks for the ROM image. I’ve tested it on my board, and it appears that the boot process gets as far as the following, before stalling: Texas Instruments X-Loader 1.47 (Jan 14 2011 – 15:43:28) 212836 Bytes Read from MMC U-Boot 2010.06 (Jan 14 2011 – 15:43:45) OMAP3430/3530-GP ES3.1, CPU-OPP2 L3-165MHz
In: serial 4194304 bytes read I’ve tried connecting USB devices, and also entering commands in CuteCom – to no avail. |
Tyson Key (572) 16 posts |
Annoyingly, after performing a soft reset, the boot process then becomes stuck at |
Jeffrey Lee (213) 6048 posts |
Your NVRAM should be fine – At the moment the NVMem stuff just uses a file on the SD card rather than an EEPROM or NAND flash. There have been a couple of reports of the NVMem code causing trouble recently. I’ll have a think about things and see if I can get another build uploaded later today. |
Jeffrey Lee (213) 6048 posts |
I’ve uploaded a new ROM image that contains some fixes to the NVMem code. Hopefully that will allow things to run further for you, since there’s not much else that can go wrong between the keyboard scan completing and the next bit of text that’s output. |
Tyson Key (572) 16 posts |
Thanks for the updated ROM. I’ve just tested it, and was able to get to the keyboard scanning phase, after a cold boot – before seemingly hanging again (due to the lack of a connected USB keyboard?). However, subsequent warm, or cold boots seem to terminate after |
Tyson Key (572) 16 posts |
Curiously, after removing the SD card, and reinserting it into my laptop, it appears that the file system has been rendered to an inconsistent state, and multiple FAT links to a “CMOS” file seem to exist: |
Tyson Key (572) 16 posts |
After performing an FS integrity check, erasing the offending files, and write-protecting the SD card, I’m finally able to return to the At this stage, I’m pretty much out of ideas, as far as potential causes of that issue are concerned. I’ve also just realised that the status of the SD card’s write-protection switch is being ignored during the boot process – although I believe that its enforcement is done in an “informal” manner, at the SD controller driver level, in some cases. |
Jeffrey Lee (213) 6048 posts |
Hmm, OK. When I get home I’ll upload a build with the CMOS write disabled, and I’ll have a go at recreating the issue on one of my beagleboards (presumably it’s an issue with how the filesystem is set up on the card you’re booting from – so if I download the Android boot image from Mistral’s site and then replace x-loader and u-boot with the BB versions I should be able to recreate it)
Correct. All the OMAP boards I know of use a GPIO pin to detect the write protect state, but I haven’t had the time to hook it up to the NVMem code yet. |
Jeffrey Lee (213) 6048 posts |
I’ve uploaded a new build with the NVMem save code disabled. Fingers crossed it’ll work this time! |
Tyson Key (572) 16 posts |
Thanks for the new ROM image, Jeffrey. After a bit of a false-start involving incorrect memory addresses – which mislead me into thinking that the ROM was defective, I now have a Supervisor prompt: Texas Instruments X-Loader 1.47 (Jan 14 2011 – 15:43:28) 212836 Bytes Read from MMC U-Boot 2010.06 (Jan 14 2011 – 15:43:45) OMAP3430/3530-GP ES3.1, CPU-OPP2 L3-165MHz
In: serial OMAP3_EVM # mmc init I2C read: I/O error mmc1 is available reading ROM 4194304 bytes read OMAP3_EVM # go 0×81000014
init mod PCI init mod FileSwitch init mod ResourceFS init mod TerritoryManager init mod Messages init mod MessageTrans init mod UK init mod WindowManager init mod Desktop init mod SharedCLibrary init mod OMAPVideo init mod TaskManager init mod ARM init mod BASIC init mod BASIC64 init mod BASICTrans init mod BufferManager init mod ColourTrans init mod Debugger init mod DeviceFS init mod Portable init mod RTSupport init mod USBDriver init mod EHCIDriver init mod MUSBDriver init mod DisplayManager init mod DMAManager init mod DragASprite init mod DragAnObject init mod Draw init mod BBCEconet error: No ‘Econet’ installedinit mod FileCore init mod RamFS error: RAM disc size too smallinit mod Filer init mod FilerSWIs init mod FSLock init mod FontManager init mod FPEmulator init mod VFPSupport init mod Free init mod Hourglass init mod IIC init mod International init mod InternationalKeyboard init mod InverseTable init mod NetFS error: No ‘Econet’ installedinit mod NetFiler init mod NetPrint error: No ‘Econet’ installedinit mod NetStatus init mod NetUtils init mod Obey init mod Pinboard init mod PipeFS init mod RAMFSFiler init mod ResourceFiler init mod ROMFonts init mod ScreenBlanker init mod ScrSaver init mod ShellCLI init mod SoundDMA init mod SoundControl init mod SoundChannels init mod SoundScheduler init mod SpriteExtend init mod SpriteUtils init mod Squash init mod SuperSample init mod SystemDevices init mod TaskWindow init mod WindowUtils init mod FilterManager init mod WaveSynth init mod StringLib init mod Percussion init mod Filer_Action init mod DOSFS init mod SCSIdriver init mod SCSISoftUSB init mod SCSIFS init mod SCSIFiler init mod ColourPicker init mod ScreenModes init mod DrawFile init mod BootCommands init mod AUNMsgs init mod MbufManager init mod Internet init mod Resolver init mod Net error: AUN not configuredinit mod BootNet init mod Freeway init mod ShareFS init mod MimeMap init mod LanManFS init mod DHCP init mod !Edit init mod !Draw init mod !Paint init mod !Alarm init mod !Chars init mod !Help init mod SharedSound init mod TinyStubs init mod Toolbox init mod Window init mod ToolAction init mod Menu init mod Iconbar init mod ColourDbox init mod ColourMenu init mod DCS init mod FileInfo init mod FontDbox init mod FontMenu init mod PrintDbox init mod ProgInfo init mod SaveAs init mod Scale init mod TextGadgets init mod CDFSdriver init mod CDFSSoftSCSI init mod CDFS init mod CDFSFiler mod init done Service_PostInit callbacks RISC OS 256MB Cortex-A8 Processor Acorn SCSIFS \0×17 \0×00\0×00\0×00\0×00\0×00\0×00\0×00\0×00\0×17!\0×18\0×18\0×18\0×18\0×18\0×00\0×18\0×00\0×17″lll\0×00\0×00\0×00\0×00\0×00\0×17#66\0×7f6\0×7f66\0×00\0×17$\0×0c?h>\0×0b~\0×18\0×00\0×17%`f\0×0c\0×180f\0×06\0×00\0×17&8ll8mf;\0×00\0×17′\0×18\0×18\0×18\0×00\0×00\0×00\0×00\0×00\0×17(\0×0c\0×18000\0×18\0×0c\0×00\0×17)0\0×18\0×0c\0×0c\0×0c\0×180\0×00\0×17*\0×00\0×18~<~\0×18\0×00\0×00\0×17+\0×00\0×18\0×18~\0×18\0×18\0×00\0×00\0×17,\0×00\0×00\0×00\0×00\0×00\0×18\0×180\0×17-\0×00\0×00\0×00~\0×00\0×00\0×00\0×00\0×17.\0×00\0×00\0×00\0×00\0×00\0×18\0×18\0×00\0×17/\0×00\0×06\0×0c\0×180`\0×00\0×00\0×170<fn~vf<\0×00\0×171\0×188\0×18\0×18\0×18\0×18~\0×00\0×172<f\0×06\0×0c\0×180~\0×00\0×173<f\0×06\0×1c\0×06f<\0×00\0×174\0×0c\0×1c<l~\0×0c\0×0c\0×00\0×175~`|\0×06\0×06f<\0×00\0×176\0×1c0`|ff<\0×00\0×177~\0×06\0×0c\0×18000\0×00\0×178<ff<ff<\0×00\0×179 Supervisor * * |
Tyson Key (572) 16 posts |
(Apologies for the ridiculously long and wide post – although I wasn’t quite sure of the best way to quote the screendump, without breaking indentation, or other vaguely useful characteristics). |
Tyson Key (572) 16 posts |
For what it’s worth,
No. Bus Dev Class Description 1 1 1 9/ 0 EHCI root hub2 2 1 9/ 0 MUSBMHDRC root hub Sadly, it doesn’t seem to detect a Western Digital external HDD, an ACS ACR122U smartcard reader, a Pinnacle 72e DVB-T receiver, or a ZTE UMTS modem connected to the EHCI Host port. |
Jeffrey Lee (213) 6048 posts |
New build uploaded. I was able to reproduce the NVMem issues by using Mistral’s Android boot image, so the bugs that were causing it to fail to boot and create lots of CMOS files should now be fixed. I also spotted something that I’d missed from the USB initialisation, so with any luck the EHCI port should be working now. Did you check if anything else was working? Sound, video, USB OTG? |
Pages: 1 2