TC65 FAQ
January 1, 2009 — Florent Clairambault- Where can I find technical support for the TC65 ?
You have to ask your TC65 supplier. It will redirect you to a company in charge in your region. Some companies seem better than other, some won’t even know that the chip can be used with java programs and some can give you precise technical informations.
If you want a quick, unofficial support, you can contact the javacint group or directly subscribe to it : - Can i use a GPRS connection with both a running java program and my PC ?
No. The chip either does java or modem. You could eventually simulate a modem within a java app. But I doubt that it would be very useful. - How can I upgrade a program remotly ?
You can :
- Execute an “AT^SJOTAP” command triggered by an SMS, a network command or any special event you want
- Send an OTAP SMS. This will launch the update on any chip you want. You can do that by using my little software and an other GPRS modem. - Can I prevent the chip from shutting down and not waking up ?
This problem of the chip shutting down with the “^SHUTDOWN” URC and not waking up is a big a one. Some people send a restart command in the destroyApp method. It has the obvious drawback of preventing the chip of being remotly upgraded.
In fact you CAN upgrade your program even with this fix. You have to set your chip to wait for the maximum time before program starts (AT^SCFG=”Userware/Autostart/Delay”,”250″ ie 25 seconds) at startup. You make the chip restart with a first OTAP SMS (or any other restart command) and then send an other OTAP SMS within this 25 seconds restart time.I personally only use trackers with hardware watchdog to prevent this problem.
- I have this error :
1
^EXIT 00010000,008e504c4b4d4552522c353030333a306334303a65303130204d6f6e61636f3a2053504f5254733a204253504f5254204c6f636b7570
This can be hextranslated to “PLKMERR,5003:0c40:e010 Monaco: SPORTs: BSPORT Lockup”. Like most of these errors, it only means something to some few people within Cinterion (Siemens). It’s a know issue with the first version of the v3.0 firmware. You should flash your chip.
- Debugging on TC65 doesn’t work
First of all, make sure you debug with the tools intended for your chip. Debugging might not work or work weirdly (no variable state visible for instance) with incompatible versions.
You also have to make sure the “remote debugging connection” works fine. Everytime you change something in your configuration, make sure to use Cinterion (or Siemens) setup utility to “repair” the debugging connection. - How can I get a .jar file from the TC65
You can’t. As you may not know, jar files can be very easily decompiled and even obfuscated reveal the logic of your chip. This is a very basic and powerful way to prevent your software from being reverse-engineered. You can upload jar file on the chip but never download jar file from the TC65. - Can we save a lot of data on the chip ?
I has 1.7 MB of memory. Chances are you are only using 5 to 100 kB for your java code. So it enables you to save a lot of data.
Note : I have never been faced wit this problem but the memory used by the TC65 chip is limited to approximatively 100 000 read/writes. So you should avoid to write things too often.
What you can and you should save are settings required to communicate with the chip. -
Can we use an SD-Card or any kind of flash storage system with the TC65 ?
In the SDK documentation, the AN_17_FOTA.pdf file describes this. You have to use an Flash storage system connected to the SPI port. It is in this document related to the Firmware Over The Air update process, but you can use it for anything else. - Why can’t I use the TC65 or/and AT commands when a program is launched ?
The TC65 can act in two modes : Modem or software execution. In modem, it supports AT commands on any port (ASC0, ASC1, USB). In software execution mode, all the ports (ASC0, ASC1, USB) can only be used for communications. In this mode, you execute AT commands within your software, using the ATCommand class. - Why is MES not working ?
It’s very likely that is is for one of these reasons :
- You didn’t set a fixed baudrate (at+ipr=115200 for 115200 bps for instance)
- The cable or the serial connector you use doesn’t permit to send the RS232 modem DTR and DSR signals. - Can I use a serial over USB converter ?
Yes, but for transfers, you need MES to work. The only serial over USB converter that are proven to work are the ones embedding an FTDI chip.
I also have an other converter, based on a CP210x chip, it won’t work for transfers. -
I have the TC65 but my supplier didn’t give me the SDK. What should I do ?
This happens a lot. Some suppliers don’t even know that the TC65 can be programmed in java. You can ask them (because they are the one supposed to give it) or download it here. -
Can I make my developments on a Linux hosts ?
Not officially but you can. Someone made a page on TC65 Development on a Linux host about this. I’ve never tested it thought.
Ricardo also gave some programs and files to use MES on Linux on the javacint group files (I haven’t tested it). -
What are the network protocols supported by the TC65 ?
- In AT Commands : Socket, FTP, HTTP, POP3, SMTP
- In Java environment : Socket, SSL, HTTP/HTTPS, UDP
If you need FTP, you can’t do it in java directly unless you implement the FTP protocol in your code.
-
How can we make the chip go in sleep mode ?
For the chip to be able to sleep, you have to make all your threads die, sleep or wait for an I/O to be performed.
The chip really goes in sleep mode 30 seconds after everything is ready to make it sleep. -
How can we save settings on the TC65 ?
The best way is to save your parameters in a file using a settings abstraction class. I’ve seen people saving parameters in the SIM Card, it’s very constrictive and you lose everything when you need to change the SIM card. I think this is totally useless. -
How are we supposed to manage the life program’s lifecycle ?
- The midlet starts in the “startApp” method and it snould let the startApp call end by creating a new thread.
- When the “destroyApp” method is called by the system, you have 5 seconds to close everything and call notifyDestroyed. If you don’t, your program will quit and it will display a warning on the console.
- The “pauseApp” method (and its “notifyPaused” linked method) are optionnal.Keeping the program’s loop in the “startApp” method is wrong. It seems it creates instability and update problems.
-
The OTAP process is working fine but how can I remotely enable the AutoStart on brand new TC65 chips ?
I haven’t figured this out yet. I’m not sure there is a solution. I personally built a little program that check for new TC65 chip presence on the serial ports and setup them.
This isn’t much of a problem thought because I like to detect & test the chips on a PC to identify it. -
How can I identify each chip ?
You can identify each chip with the “AT+GSN” AT command. you can identify its SIM card with the the “AT+CIMI” AT command. -
Is there any recommendation around the use of files with the TC65 flash memory storage ?
The flash memory is approximately limited to 100 000 R/W cycles. You should save data in RAM memory as much as possible. But when absolutely required, you can still write things on flash storage. Let’s say you save a file each 20 minutes and each file save makes 2 R/W cycles.
We get 100 000 / 2 * 20 = 1 000 000 minutes of life. That means 1 000 000 / 60 / 24 = 694 days. That means a little bit less than 2 years.
That’s not very long, so this isn’t too good. -
Can we build TC65 programs with Windows Vista or Windows 7 ?
Yes but the Module Exchange Suite will only work on Windows XP. So I recommend you use Windows XP on WMWare workstation to do this. -
Java program starts with the chip, how can I disable it ?
When autostart is enabled and the autostart delay is set to 0, you cannot disable the autostart by AT Command. You have to use the “Switch Autostart off” program given with the TC65 SDK.
As described in the Java_UserGuide.pdf :Using the graphical “autoexec_off.exe” tool: 1. Connect the module to the PC 2. Make sure, that the module is switched off 3. Start the “Autoexec_Off” program 4. Select the COM-Port 5. Press the “AutoExec Off” button
-
How can the TC65 switch on automatically as soon as it is powered ?
You have to connect the ignition input (IGT_IN) to the power input.
Last update : Mars 09, 2010. Updated this FAQ again with the questions received personally or from the javacint group.
Last update : November 28, 2009. I updated this FAQ with the questions received personally or from the javacint group. For any question, please contact the javacint group.