Main Site Documentation

Few newbie questions


#1

Hello,

These questions may sound stupid but I just got my dev board today and I want to make sure I don’t do anything wrong…

1.) On the speakers there are stickers that say “Remove after washing”. What exactly should I do (I guess I shouldn’t put the board in a washing machine…) before removing them?

2.) To connect another device via uart (not RS232) I’ll connect RX and TX to either COM2 (PC8/PC9) or COM1 (PA9/PA10). Do I assume right that the ground from the device would need to connect to GND (under the 5V and 3.3V pins marked Power)?

3.) Related to 2., what would I do if I want to connect to multiple devices at the same time? Do I connect all the grounds together to that one GND pin on the ChipWorkX module?

4.) Does the ChipWorkX also run the .NET Gadgeteer SDK or only the GHI NETMF SDK?

5.) If I would compile my own firmware using the .net porting kit, can I easily get back to the GHI firmware? The hardware they use in the porting guide would have to be sent in to GHI for re-flashing but the way I understood the ChipWorkX can be erased completely and the reflashed from scratch with the firmware provided in the SDK.

6.) Is there any guide on using JTAG with the ChipWorkX?

Sorry for all these stupid newbie questions… but I guess they are very easy for advanced users and will probably save me a few hours of searching for each of them. Thanks a lot for your help!


#2

Welcome to Tiny CLR.

Let me take a stab at these questions.

[quote]1.) On the speakers there are stickers that say “Remove after washing”. What exactly should I do (I guess I shouldn’t put the board in a washing machine…) before removing them?
[/quote]

The “washing” referred here is the washing during the assembly stage of the board. The boards may be washed after the reflow process to remove fluxes that may be be conductive, corrosive or sticky.

Keeping the sticker on protects the internals of the speaker during the process.

[quote]2.) To connect another device via uart (not RS232) I’ll connect RX and TX to either COM2 (PC8/PC9) or COM1 (PA9/PA10). Do I assume right that the ground from the device would need to connect to GND (under the 5V and 3.3V pins marked Power)?
[/quote]

Yes, you can use use a pin marked GND. You can always probe with a voltmeter to be very sure.

[quote]3.) Related to 2., what would I do if I want to connect to multiple devices at the same time? Do I connect all the grounds together to that one GND pin on the ChipWorkX module?
[/quote]

You could do that, using a common ground is a good practice.

[quote]4.) Does the ChipWorkX also run the .NET Gadgeteer SDK or only the GHI NETMF SDK?
[/quote]

You could but then I dont think there is a pre packagaed SDK for the CWX. You may need to do some work to get it going. What is your goal ? The Gadgeteer modules cannot be directly plugged into the CWX dev sys.

I will let other members pitch in on this.

[quote]5.) If I would compile my own firmware using the .net porting kit, can I easily get back to the GHI firmware? The hardware they use in the porting guide would have to be sent in to GHI for re-flashing but the way I understood the ChipWorkX can be erased completely and the reflashed from scratch with the firmware provided in the SDK.
[/quote]

You you do a complete erase you will loose the GHI bootloader and you can not load the Firmware on you own. You will need to check with GHI on the options for this scenario.

[quote]6.) Is there any guide on using JTAG with the ChipWorkX?
[/quote]

I have not seen a published document, but it is a standard JTAG. Refer to the documenation of the Atmal MCU, JTAG vendor and Compiler suite.


#3

Great thanks a lot for your speedy reply :slight_smile:

About the “Remove after washing” stickers, I removed them now but there is some glue stuck on the speakers. Can I clean them with alcohol or would that damage the plastic cap and the speaker membran. What’s the best approach here?

About the Gadgeteer SDK it seems a lot of the Code published on this site is using it. I was just wondering if I can use the code right away or need to rewrite it to use only native GHI NETFM / ChipworkX functionality.

For the last two questions, I would assume that I could read the entire flash via JTAG and save it before erasing it to try my own MicroFramework port and get back to GHI’s implementation after that. It would be more of a curiosity thing like trying beta frameworks and learning more about the hardware. As for the jtag part, I’ve seen that openocd has support for at91sam9261. I’m just a bit worried that by doing something wrong I might damage my board (maybe not physically but the bootloader) which would be crap right after getting it. Plus I live in France so sending it back to GHI isn’t that easy.

All in all I’m excited to get started with it. I already got uart communication to work. Now I got a 16 channel analog multiplexer from sparkfun.com to play with…


#4

You can clean the glue, take care not to drop anything into the opening.

For the Gadgeteer, download the SDK and look around. You can also read the spec. on the codeplex site.

Regarding the erasing and reloading of firmware, I would say it is best for someone from GHI to give you the right answer - You do not want to brick you CWX.

Have Fun.


#5

JTAG is open on ChipworkX I we recommend you ONLY use it for RLP purposes.


#6

Thanks a lot for the replies so far. I have two question right now where I’d appreciate an official response if possible:

The first thing to run on the module is the bootstrap loader. According to the manual this is fixed an cannot be updated. It is used to install TinyBooter in flash memory.

My two questions:

Is it this loader that recognizes pressing down/select/up to show the erase function?
Is it really impossible to erase/overwrite it (even with a jtag device)?

In case both are true that would mean I can do whatever I want with the device and will always be able to get back to the step of pressing down/select/up while resetting, erasing the flash memory to get into serial CDC mode to put GHI’s TinyBooter back into memory and flash as normal.

I just want to make sure I can’t mess up the device by trying out some jtag stuff. I actually chose the ChipWorkX over all the other offerings just to be able to “play” with jtag in order to understand openocd better and use it on other platforms which aren’t as open as this platform.


#7

What exactly are you trying to do? JTAG is open fo RLP purposes. Surly you can run anything you want on chipworkx but we only support NETMF. Beyond that, it is all up to you.


#8

Hello Gus,

First of all thanks for your reply. I bought the dev board privately simply to learn and have fun. I’ve been doing some very basic circuits before and now that I’m single again I have the time (and money) to get back to this hobby. So I went to an electronics store and got a soldering station, some general purpose circuit boards and a set of resistors, condensators, diodes, transistors and led’s (in total over 500 pieces) plus some ICs like the multiplexer I mentioned already, and after checking out the product documentation and writing a few basic programs in the emulator I added the ChipWorkX dev board to the mix as the central station to interface with my circuits and also (hopefully) with some other hardware I have laying around. Right now I’m working on that 16 port multiplexer, I have set up a basic board with 16 leds, each connected to one of the output ports and the 4 input ports (a 4 bit mechanism to select the port) and dataport connected to the digital IOs of the CWX. Now I’m programming a Class in C# to easily select a port to turn on and off.

Of course that’s very interesting but I’ll also want to learn more about the arm architecture beside running some high level C# code so that’s why I chose the ChipWorkX because I can run native code and debug it via jtag.

Finally, I’d also like to learn how to use jtag to read and write to the different memory chips on arm based hardware, and I thought using an open architecture like the CWX where all the hardware is well documented might be the best start before trying to work on hardware that isn’t as easily accessible. I have some hardware, also arm based, that I found at work where noone has any idea what the admin password is (none of those that worked on it while it was set up is working there anymore) and the company that made it is bancrupt for a long time already. So I’d like to try and read the flash chips as well in order to find the missing password. Unfortunately I haven’t gotten very far when it comes to accessing the flash memory (and I can’t risk bricking that device) so I was hoping that having the CWX would be a good training ground.

I fully understand that you don’t support anything other than how the device is supposed to be used. I just would like to know if there is a possibility that I can brick the CWX to a point where it would have to be sent to the US (from France that takes a long time) for reflashing. Obviously if such a risk exists I’ll rather not try anything unusual with the board and either get a second CWX for these experiments (that I can, in the worst case, spare for a few weeks to get unbricked) or get another arm based board where these things are documented and maybe even supported. So if you could just give me a reply (a simple yes or no would be sufficient) to those two questions I posted earlier I’d be happy and I promise I won’t bring it up ever again.


#9

Ok now I understand. You will not brick ChipworkX by programming it using JTAG.


#10

Thanks a lot. That’s very reassuring :smiley:


#11

Well knowing that I cannot brick the module (thanks to the Jumper) I went ahead and installed Linux (a prebuilt linux4sam image) on the module. It works extremely well and saves me from buying another kit for linux on arm experimentation. If you want more info let me know and I’ll provide them.

Just one question… during all this time the LCD display is on and bright white (the same as when you boot without the jumper or erased the dataflash) and I’m wondering if letting it run like this for a long time (like several hours) could have a negative effect on the LCD display and if maybe I should better disconnect it (or check into how to lower the backlight… I faintly remember reading about how to do this).

Either way I just wanted to say thanks a lot for your patience with me and thanks for creating such a cool module where I can switch between .NET and linux development within just a few minutes :slight_smile:


#12

Hi Xykon

then your Linux do not use the LCD?
I’m very interessed in your Linux-Project, please write me shortly on ghi@ christoph-mauchle.ch
I tried to turn off the LCD too but couldn’t found a solution


#13

Hello,

So far I only loaded a stock linux on the board. The cabling of the LCD is different than on the 9261-ek prototype board sold by atmel. It’s not just that they swapped some ports. I admit though I haven’t worked a lot on it really, I went through some of the u-boot code one evening and that’s it.

To turn off the LCD backlight, there are two options: Connect BKLIT shutdown to GND or connect BKLIT ADJ to 3.3V.

To have a simply linux running, first make sure that you have a serial console from your PC to COM1. You need an adapter for this, either ttl serial <-> RS232 or ttl serial <-> USB.

Now download the latest SAM-BA Vista from ATMEL website. Then get the linux demo for at91sam9261 found here: http://www.at91.com/linux4sam/bin/view/Linux4SAM/GettingStarted#Linux4SAM_DataFlash_demo_Memory

Make sure that sam-ba and the linux demo are both extracted into the same folder. Else it won’t work.

Start the CWX in sam-ba mode (power-off, remove jumper, power on, put jumper back). Start sam-ba, choose at91sam9261 and the com port to which your CWX is connected in sam-ba mode.

Now execute the at91sam9261ek_demo_linux_dataflash.tcl which needs to be in the same directory as sam-ba as mentioned before. It will take a few minutes to put linux onto your board.

When you reset you can watch the linux boot on CWX com1 port at 115200bps.Login as root without a password to get access to the system. Edit /etc/network/interfaces to set the network to dhcp (like any other debian/ubuntu system).

Let us know about your results and if you manage to make any improvements especially for the LCD. But use the Linux on CWX thread http://www.tinyclr.com/forum/18/4602/ instead of this one :slight_smile:


#14

have you seen this http://www.tinyclr.com/forum/21/4930/


#15

Yes but I don’t have a Hydra yet. How long would it take to get it shipped to France?


#16

Should less than a week.


#17

Ok great but… I’ve just noticed that it doesn’t ship yet… so the contest starts when it’s available or for those who make their own boards?


#18

You can use any micro for the contest but with that we think we should change the dates of the contest a bit.


#19

Just found out that the contest is over before it’s even possible to order the module :frowning:

I guess I’ll just keep working on the CWX LCD being recognized by X11 now and pass on the Hydra module.


#20

What module are you referring to? You can buy the Hydra today at:

http://www.ghielectronics.com/catalog/product/328