Functions of JRC Midlet | Telit Cinterion IoT Developer Community
October 12, 2016 - 1:06pm, 2984 views
Hello,
What are the functions, responsibilities of JRC Midlet in Java Modules? (in my case BGS5)
Previously, when I started working on the module, I thought JRC is the Java Runtime System, that is JVM, which starts user application and interprets it. But now, I'm seeing that it is just a MIDlet by Gemalto like a user application. If autostart is disabled it does not start. Even, if the user app has autostart property and has Oracle-MIDlet-Autostart: [0-5] value set to 1, JRC cannot be able to start because of the user application.
Could you please write a summary of JRC Midlet functions? How is related with user application?
In my opinion, it would be helpful Java User Guide has a small section about this. What is JRC and what does it do?
Best Regards,
Ergün.
Hello,
The JRC MIDlet is a part of the module's firmware implemented as a MIDlet. It's not a JVM. It should not be disabled. There is no official document that would clarify in details what is inside. But generally many of the available AT commands are implemented in JRC. So if you disable it you will get ERROR reply in many cases where you normally shouldn't. Also your Java MIDlet will not be able to fetch any URC then. So JRC is important for all use cases regardless of Java usage.
The JRC has Oracle-MIDlet-Autostart filed in it's jad file set to 1 and that is why it starts automatically. But there's one condition: "Userware/Autostart" must be set to 1 with AT^SCFG command (which is a factory default). This setting is global for all MIDlets. But if you have your own MIDlet that does not have Oracle-MIDlet-Autostart filed in it's jad file or it is set to 0, this MIDlet will not start automatically. As Oracle-MIDlet-Autostart determines the start order it is recommended for user applications to have at least 2 to make sure that the user app will never be started before JRC.
Best regards,
Bartłomiej
Hello Bartlomiej,
Thanks for the explanation.
Beside some at commands and URC implementation, is there any other main functions of JRC?
For example, is otap process via sms managed by JRC?
Best Regards,
Hello,
OTAP is not managed by JRC. It is also possible to update the JRC MIDlet by OTAP.
The core functions are in the firmware. Some functionalities are implemented in JRC however I don't have the detailed list. Such documents are not public as the JRC should be treated as a part of the firmware and it is only the implementation detail what is implemented inside. From the end user perspective it should not matter.
For example some internet services and SMS need JRC to work. You can try to compare the AT^SCFG? output with and without JRC to see that some parameters will not be available.
Best regards,
Bartłomiej
Hello Bartlomiej,
Thanks for the answer.
I would also ask if JRC can be updated via OTAP or not. You have already answered it.
Best Regards,