Jump to content
AVIC411.com

Windows CE install on SD card


Recommended Posts

Hello, I am new to this forum. I have been reading about the F700BT which I will be installing in my vehicle this coming weekend. I have a few questions. Would it be possible to do a full Windows CE install to an SD card? From my understanding the test mode files must be present on the SD card to get it to boot from the card. Would having a full install on the card also work? The reason I am asking is I would like to be able to access the desktop just as I would on my home computer and be able to install/run Windows CE programs. Does anyone know if there are Windows CE compatible drivers for USB keyboards, mice or gamepads? Also has anyone looked into the possibility of running Windows XP embedded NavReady version? It runs on an ARM processor and supports USB boot. And one last question. How about the possibility of using a WiFi SDIO card for internet access? Here is a link to an article on doing it on a Mio C320 which also uses an ARM processor. http://www.newsvhf.com/miogps.html Maybe I am expecting too much, but I would like to see just how far I can go with this.

Link to post
Share on other sites

I have a F700BT on order that should be here by the weekend. I'm a computer engineer, but I do have some programming experience, with a lot of custom build knowledge, as well as some good hacking/modding knowledge.

 

Before I put the unit in the car, I think I'm going to take a peek inside it to see if I can find any alternate I/O access points for the unit. However, I have a feeling that everything is going to be a proprietary stripped down bare bones design that has been custom tailored for Pioneer. There has to be a backdoor way of reloading Windows on it, especially since these things have a warranty and you can send them back into the manufacturer if something gets corrupted in the ROM. The backdoor is most likely just a software method via SD, in which I probably wouldn't have the time to figure out because my programming knowledge is somewhat limited. It could even be a special bootloader via USB like the method you use to reflash windows mobile based cell phones.

 

The thing about the unit running Windows CE, it's all a pre-compiled or "pre-built" operating system that has special drivers and libraries that Pioneer has tailored for that unit alone. Just because you might have the possibility to load a new operating system on it doesn't necessarily mean you'll be able to have full functionality of the unit. You'd have to know hardware addresses and so forth of everything in the unit to even be able to have drivers for a new OS.

 

Regardless, this unit does look very promising for the modding community. I've looked at what leetcoder has been doing with the leetlauncher software he's developing for the unit, and it seems on a good track to use what we already have available to us in the current Windows operating system that is already loaded on the unit with the drivers and libraries already on it. That would be a better development path rather than starting fresh with nothing, and a high risk of bricking your unit.

Link to post
Share on other sites

It doesn't boot from the card, it boots from the internal FLASH. Windows CE loads from the internal FLASH (with the desktop, believe it or not), and then when it sees the card with the special folder and exe, it runs that exe instead of the normal startup app for the AVIC.

Link to post
Share on other sites
It doesn't boot from the card, it boots from the internal FLASH. Windows CE loads from the internal FLASH (with the desktop, believe it or not), and then when it sees the card with the special folder and exe, it runs that exe instead of the normal startup app for the AVIC.

Yes, I know that already.. unless you were talking the OP?

 

But what we know already is that the BIOS of the system does a check on the SD card port upon boot up. That's how the bypass is done to enter the OS. From my experience with Windows mobile/ce devices, you don't boot an OS from those devices (USB/SD), because it isn't how the BIOS is setup to work.. it's made to boot the OS from the ROM and load to RAM so you can run things. It seems an entire reflash of the ROM would be necessary to boot a different OS.

 

What I'm more interested in is to see if I can get ActiveSync Remote to work on the radio so I can have easier access to the OS and file structure instead of keep having to boot into the OS on the radio and using the SD card with touchscreen to do all the dirty work. ActiveSync Remote would be far easier so you could just connect up a USB cable to the radio from a laptop, then remote into it.

Link to post
Share on other sites
Before I put the unit in the car, I think I'm going to take a peek inside it to see if I can find any alternate I/O access points for the unit. However, I have a feeling that everything is going to be a proprietary stripped down bare bones design that has been custom tailored for Pioneer.

 

Not sure how much it will apply to the F700BT, but the F90BT/F900BT Service Manual has a lot of information about the AV board and its connections to the Navi unit. It doesn't have the schematic for the Navi itself, but it does show some interesting places where you can tap off the I/O to trace what's going on when switching sources, adjusting volume, etc. It also has most of the reset flow, from power on to the uCOM releasing reset to the Navi board... :D

 

Looks like most of the audio work is handled by the System uCOM IC, which the Titan ARM CPU talks to using UART #2. The uCOM talks to the audio/video switch control (AV Selector, I4171) using I2C. The AV Selector selects between the R/L audio channels of AV1, AV2, DVD. It also controls which of the two Aux video inputs is shipped off to the Navi's second composite video input for use as a video source (the Navi can also select the rear camera input as the other source).

 

All volume being fed to the Amp is handled by the E-Vol IC (IC4271), also controlled by the uCOM via some sort of 3 wire protocol (Clock, Data and Strobe). E-Vol selects between the output of the AV Selector, the FM/AM Tuner, the uCOM IC (probably handles IP Bus audio), the stereo ouput of the Navi (music) and the mono output of the Navi (Guidance).

 

As for the IP Bus, the uCOM IC handles communication with those devices. For more info on the pinout of the IP Bus, check out this page or this page. I can't imagine why Pioneer claims they can't get button labels going on the HD Radio, since I'd guess they control the I/C and are reading at least frequency numbers (if not ASCII strings) across the UART from the uCOM when it talks to the GEX-P10HD over IP Bus. Watching both the UART and the IP Bus +/- data would probably be very informative, if someone has an O-scope or logic analyzer at their disposal. :twisted:

 

So I guess it all boils down to figuring out the UART commands the individual .exes execute to tell the uCOM to do their bidding as a first step to really getting control of things.

 

I'm still pretty interested in MioPocket 2.0/LeetLauncher3 as a pretty good baseline of a full WinCE environment that's somewhat removable without too much "harm" to the main flash. Seems like MortScript would give us lots of control over the initialization of the whole thing (which it looks like Leetcoder chose for LeetLauncher 3.0). MioPocket 2 runs pretty well on my iPaq 310, which is basically the same environment as the AVIC Navi board sans the TMC/MSN and AV inputs. Sadly the AVIC apps (ezrider, SytemSettings, AV, etc) nuke on the iPaq since the relevant AV board hardware isn't there, making it less than useful for in-house testing (i.e. load it on iPaq first to check it out, then copy to SD card and take 'er for a spin on the AVIC). So it looks like emulation is the only way to go, short of buying another unit to hack on on your desk with the bench supply.

Link to post
Share on other sites

Thanks for all of your help and info guys. I want to make sure that what I am asking is understood. I am looking for a way to install Windows CE onto the SD card only. That way I can be in the Windows environment with nothing else running. I know that some of the other members have come up with some very nice options for working in the Windows environment. I do not know if this possible because the way I understand it is that Windows CE is usually customized depending on what the manufacturer wants to do with the device. That means that usually it is not a complete full install. I don't know if there is such a thing as a complete full install, but that is my goal. This way I can hopefully install Windows CE programs that I want to use and they will be on the card along with Windows.

Link to post
Share on other sites

Judging by what you want to do and your current knowledge of the subject, you've got a lot of studying and programming to catch up on. :mrgreen: You'd need to build your own version of Windows CE/Embedded/Mobile that would be compatible with the hardware that is in the Pioneer unit already. That would require finding (highly unlikely) or writing all your own drivers, finding all the hardware addresses of those components, writing all your own libraries, making your own scripts to run what you want on startup, etc.. You'd have to be very skilled with embedded systems on the hardware side, and also have extensive programming knowledge for windows embedded operating systems. But you're not going to run off the SD/USB.. you need to reflash the ROM of the unit to have it boot it. If you screw up, you can easily brick your radio. If I were you, I'd focus on modifying and adding onto what we already have available to us in the Pioneer unit.

Link to post
Share on other sites

Thanks for the info guys. I agree with you Wiretap, I would better off using what the members of the forum have come up with. I guess I was hoping it would be as easy as when I build a desktop. But Windows CE/Mobile and their devices/environments are a whole different ball of wax. One last question-is it possible to install other programs/apps into Leetlauncher?

Link to post
Share on other sites

Yes, you'd be able to add your own apps if you install them in WinCE on the radio, then you'd have to interface it with the leetlauncher front end. However, some WinCE apps may not play friendly with 800x480, so it could be a crapshoot depending on what you want to run. Depending on the program, you may also have to script it to open/close and return back to leetlauncher, run over the top of it, etc. The version of WinCE in the radio is really stripped down, so it could also be missing a lot of functionality.

Link to post
Share on other sites

As a side note, if you have a QNX Foundry27 account you can download the Centrality Titan evaluation board BSP for QNX to get a lot of insight into the way the eval board Pioneer based the Navi board off of works (mem map, I/O, NAND flash, CPLD, etc). If you launch Test Mode on the AVIC-F the system info under the control panel even calls out the Centrality Titan EVB as their BSP, so I'm willing to wager once we have the uBoot/ROM programming routines figured out a QNX/Linux/alternative OS is that much closer (or even a home-rolled BSP package for WinCE 5 to use/enhance LeetLauncher3 or MioPocket).

 

MioPocket 2.0 does a pretty good job of restoring many of the missing WinCE DLLs to the whole system, and has the option to run off the SD card (it does install some entries into the registry though).

 

Wondering if we should start a hardware section under the AVIC Wiki sometime to collect this sort of stuff...?

Link to post
Share on other sites

Yeah, when it MioPocket runs on an AVIC it can't do a lot of the audio tasks (switching sources, communicate w/ iPod/HD/XM, etc) since the Mio and other PNDs MioPocket runs on don't have this hardware. We'll need the Pioneer DLLs sitting in APL/ to do most of that, I suspect. That or figure out a way to get other Nav apps to work with the AVIC software (make the equivalent of the "other.pioneer.*" calls over to AV and Main Menu when things change, etc). Some folks have been taking Ida Pro to the binaries, not sure what progress they've made there (DrPaul?).

 

As I've mentioned earlier in this thread, I think it would all come down to figuring out how to make calls out to the uCOM via UART #2 to tell it to do the various tasks on behalf of the Navi. That, and we make sure to keep the Watchdog timer signal going to the uCOM so it doesn't reboot the Navi if it thinks it's dead.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...