Support FAQ
From NetBurner Wiki
This general FAQ is updated with common NetBurner support issues. For longer, article length, topics visit the How To page. To add questions and answers to this faq, Scroll down to the appropriate category (Hardware, software, etc), and click edit. Surround your question with three ='s. Then answer the question. If you use the correct format, the question will be added to the table of contents automatically. Example:
===Where is NetBurner based out of?=== We are located in San Diego, California
Software Related
Where is the NNDK hardware and software documentation
NetBurner provides
- Hardware Specific Quick Start Guide (hard copy)
- This booklet can be found in the same box that your NNDK came in.
- NNDK Users Manual
- This manual is located in the \Nburn\docs directory.
- You can accesss this manual from Windows: Start --> Programs --> Netburner NNDK --> Documentation.
- Hardware Specific Users Manual
- This manual is located in the \Nburn\docs\platform directory.
- Motorola PDF manuals and platform specific PDF documentation are embedded in this file.
- You can accesss this manual from Windows: Start --> Programs --> Netburner NNDK --> Platform Hardware.
- NNDK Programmers Guide
- This PDF is located in the \Nburn\docs directory.
- You can accesss this guide from Windows: Start --> Programs --> Netburner NNDK --> Documentation.
- NBEclipse Getting Started Guide
- This manual is located in the \Nburn\docs\Eclipse directory.
- You can accesss this guide from Windows: Start --> Programs --> Netburner NNDK --> Documentation.
- Technical Documents and Application Notes
My device no longer works, I cannot see it in IPSETUP
Not all of the NetBurner example programs have networking enabled. If you downloaded an application to your NetBurner device that does not have networking enabled, it will not be recognized by IPSetup. To determine if this is the reason why your NetBurner device no longer works:
- Attach the supplied serial cable (or the supplied NULL Modem cable for the SB72EX) from the serial port on your NetBurner device to the serial port on your host computer.
- Execute MTTTY. (From Windows: Start --> Programs --> Netburner NNDK --> Mttty Serial Terminal.)
- Reset your NetBurner device
- Type an uppercase A (i.e. A) in the MTTTY window before the time expires to get into the NetBurner monitor program.
- At the nb> prompt in the MTTTY window type the command FLA (FLA stands for Flash Application), then press the Enter key.
- Send the tictactoe_APP.s19 file to your NetBurner device.
- This can be accomplished by selecting the Transfer --> Send option from the Transfer menu, or by pressing the F5 key on your keyboard.
- This file is located (by default) in the C:\Nburn\Platform\original directory.
- The Boot Monitor will automatically reprogram the application area of the flash and restart your NetBurner device.
Please refer to both the "Cook Book" section and "MTTTY" (in "The NetBurner Development Tools" section) in your NetBurner User's Manual for more information. From Windows: Start --> Programs --> Netburner NNDK --> NNDK Users Manual.
How do I fix traps
A trap indicates that your application has caused an illegal operation. The monitor responds by halting and restarting your application. A typical trap message printed over the serial port looks like this:
Trap occured Vector=Access Error FMT =03 SR =2004 FS =0C Faulted PC = 0200013A D0:0000000E 00000000 000000D2 000000D3 000000D4 000000D5 000000D6 000000D7 A0:00000000 40000204 02015FCE 02002390 02000150 000000A5 2000279C 2000277C Waiting 2sec to start 'A' to abort
With this information, and the original project elf file, you can figure out what line of code the application is getting an error at. The elf file will be located in the project's release/debug folder if you are using NBEclipse. If the application was built on the command line, the elf file in generally found in the base project folder.
The WinAddr2Line application found in \nburn\pcbin can be used to get the line number of the line of code that is giving you the trap message. The Faulted PC hex address is what you want to put in for the address value. Decoding this will give you a line number.
If you are unable to resolve the error with the WinAddr2Line application, you should move on to the SmartTrap utility. This will require you to recompile your project. SmartTrap usage is discussed in the NetBurner tools manual, located in \nburn\docs\NetBurnerPcTools.
What version of the NNDK am I using
To find out what version of the NNDK tool set you are using - navigate to your NetBurner install directory (default c:\nburn), and open up (e.g. in notepad) the release_tag file.
How do I generate ticks faster than 50ms
You have two options when you want to change the resolution of the ticks.
- Increase the amount of ticks per second
- Use a timer to generate an interupt at higher rate
Be default, a tick is 50ms in length. This is defined by the constant TICKS_PER_SECOND. The default for this constant is 20. You can safely increase this constant to 200, which will yield a tick length of 5 ms. ( Make sure to recompile your System Files after changing the defined Value, see: http://wiki.embeddedethernet.com/Support_FAQ#How_do_I_recompile_my_system_files )
If this is not fast enough for your application, you may want to use a timer to generate a faster interupt.
How much flash and RAM is my application using?
The XXX_APP.s19 file is stored as ascii hex, a very inefficent way to store the file; on the actual device it is stored as binary. When you build an application, the last lines of output you will see:
GapBlock starts at 2000000 Block ends at 2079264 Block size= 484K Execution starts at 2000000 compressed 496228 bytes into 260859 bytes Code CheckSum= 798f35e8 Struct CheckSum= c4ba8f07 S records output with a base address of ffc08000 S records output with a final address of ffc47b13 About to write S7... ******************************Build summary ****************************** Used 260883 bytes of 2064384 available flash (12.64%) Used 1154224 bytes of 8388608 available ram (13.76%) NNDK release tag version:Rel24_rc2
- The information on the Flash usage is in two places. Above the summary you will see; compressed 496228 bytes into 260859 bytes. The second, bolded number is the number that you need to worry about. In this example, the app file was 496K, but only 260K was needed in the flash. You can also the consumed flash in the Build Summary.
- The amount of RAM used is also shown in the Build summary. This number reflects the static allocation of RAM only. If you use dynamic allocation as well you can include the Bsp.h header and add code similar to the following to check your available RAM at any time:
DWORD unallocated_memory = spaceleft();
How do I use the taskscan tool
TaskScan is a network debugging tool that is used to view all of the tasks (and their status) in your application. Note: If you create a new application using NetBurner's Application Wizard, you must manually add the TaskScan functionality.
To use TaskScan you must add #include <taskmon.h> in your application's main.cpp file and EnableTaskMonitor(); in user main. In addition, your NetBurner device must be recognized by IPSetup. (i.e. Your program must have networking/autoupdate enabled.)
There are no performance hits if you include TaskScan in your application unless you call it. TaskScan can be executed from Windows: Start --> Programs --> Netburner NNDK --> TaskScan. When the TaskScan application is executed, a "TaskScan" window will appear. In order to use the TaskScan application, you must know the IP address of your NetBurner device, and you must select your application's .elf file. The .elf file is located in the same directory as your application. When you are finished, click the Scan button in the "TaskScan" window.
- The green "Ok" icon indicates that the task is ready to run.
- The green "running man" icon indicates that the task is currently running.
- The red "hour glass" icon indicates that the task is waiting (for a period of time) to start.
- The red "hand" icon indicates that the task is waiting and has not started.
There are 64 uC/OS tasks - task 1 has the highest priority and task 63 the lowest. There are seven task priorities that are predefined in constants.h (located in the \Nburn\include directory). They are:
#define MAIN_PRIO (50)
#define HTTP_PRIO (45)
#define PPP_PRIO (44)
#define TCP_PRIO (40)
#define IP_PRIO (39)
#define ETHER_SEND_PRIO (38)
#define WIFI_TASK_PRIO (37)
How do I use the smarttrap tool
SmartTrap is an optional debugging tool to help you find out (troubleshoot) where your application trapped. Please refer to your NetBurner Tools User's Manual \Nburn\docs\NetBurnerPcTools\NetBurnerTools.pdf for information about SmartTrap application.
What is the meaning of the error "checksum fail - no valid app"
When the monitor boots, the code in the monitor program does a checksum calculation on the application currently in your NetBurner device.
- If the calculated checksum matches the value stored in flash when the application was initially programmed, it jumps to the application.
- If the checksum fails, it generally means that your program was not completely transfered to your NetBurner device.
How do I recompile my system files
There are two ways to accomplish this:
- From NBEclipse:
- From the NBEclipse pulldown menu, select "Rebuild Modified System Files"
- From a DOS window:
- Enter the command line application by clicking on Start->Run and typing [cmd]
- Change to the nburn directory. [cd\nburn]
- Set the NetBurner command line environment variables. [SetEnv.bat]
- Change to your system directory [cd\nburn\system] (system_nn for MOD5213 platform, system_sc for L2E platform)
- Clean the project [make clean]
- Build the project [make]
- Build the debug version [make debug]
- Change to your platform system directory [cd\nburn\*your platform*\system]
- Clean the project [make clean]
- Build the project [make]
- Build the debug version [make debug]
How do I download a new application via MTTTY
Procedure:
- Attach the supplied serial cable (or the supplied NULL Modem cable for the SB72EX and CB34EX) from the serial port on your NetBurner device to the serial port on your host computer.
- Run MTTTY and connect to the board.
- Cycle power (i.e. remove and reapply power) to your NetBurner device. You will see a "Waiting Xsec to start 'A' to abort" message in the MTTTY window.
- Type an uppercase A (i.e. an A) in the MTTTY window before the time expires to get into the NetBurner monitor program. You will see the NetBurner prompt (i.e. nb>) in the MTTTY window.
- After the nb> prompt in the MTTTY window type the command FLA (FLA stands for Flash Application) and then press the Enter key on your keyboard.
- Send the factory application (an _APP.s19 file) to your NetBurner board. This can be accomplished by selecting the Transfer --> Send option from the Transfer menu, or by pressing the F5 key on your keyboard.
- A Send File window will appear. Navigate to your Nburn\Hardware Platform\original directory.
- Select the factory application (i.e. the _APP.s19 file) from the file list and click the Open button.
- As your download progresses, "****" characters will appear in the MTTTY window, and the progress bar on the lower left hand side of the window will move towards the right.
- The Boot Monitor will automatically reprogram the application area of the flash and restart your NetBurner device after your download is completed.
For additional information, please refer to Section 4.3 (Getting Started) Using MTTTY in DocumentationOverview.pdf located by default in C:\Nburn\docs. Instructions can also be found in your Hard Copy Quick Start Guide (i.e RS-232 Downloads).
How do I enable and use the Watchdog Timer
Freescale made this peripheral enabled at reset by default. Since most of applications done on our products are not using the WD we disable it in the monitor. Since the configuration register on the WD is a "write once" register is can not be enabled again once disabled. You can enter the monitor setup by typing 'A' at the boot prompt, then type 'setup'. Type 'w' to enable the watchdog and then 's' to save the configuration setting in FLASH.
Once the watchdog timer is enabled, you must trigger it periodically to prevent it from reseting your device. A simple function to do this is:
void ServiceWatchdog( void )
{
#if(defined MOD5272 || defined SB72 || defined SB72EX)
volatile unsigned short * wcr = (unsigned short *) 0x10000288;
*wcr = 0xFFFF;
#else
volatile unsigned short * wsr = (unsigned short *) 0x40140006;
*wsr = 0x5555;
*wsr = 0xAAAA;
#endif
return;
}
How do I build and load an application with the Windows command line
It is possible to build an example application, or your own application (if you have a makefile created) from the command line. To do this, follow these steps:
- Enter the command line application by clicking on Start->Run and typing [cmd]
- Change to the nburn directory. [cd\nburn]
- Set the NetBurner command line environment variables. [SetEnv.bat]
- Change to your project directory [cd\nburn\examples\web\tictactoe]
- Clean the project [make clean]
- Build the project [make]
- Build the debug version [make debug]
At this point, you application s19 has been compiled and moved to the c:\nburn\bin directory. You can load it on to your network enabled device by using the AutoUpdate utility.
What version of the uCOS is the NetBurner running
"Actually NetBurner purchased the uCOS OS from Labrosse before uCOS II was created. Since then there have been changes to the NetBurner OS for performance and new features. The OS still follows very closely to the uCOS II platform but it definitely is not identical. If you find any major functionality supported by uCOS II that is lacking in the NetBurner OS mention it here and we will consider adding it. For example, we have recently added an OSTaskDelete function, but for resource safety reasons we only allow tasks to delete themselves. There has also been a recent addition of the OSFlags functionality. Another difference between uCOS II and the NetBurner OS is that uCOSII has an object called Mutex where the NetBurner OS has a similar object called OSCrit. There are a few other differences but in the end they are very similar OSes as they both originated from the same original OS.
The OSSimpleTaskCreate macro simply creates a task stack of the size USER_TASK_STK_SIZE and then creates a task that uses this stack. The OSInit(),UCosBegin() and all the other Ucos initialization is called before UserMain runs. You would not want these functions in the Macro since they would be called every time you create a new task. In the system folder there is a file called main.c which is where "int main()" is located. This runs before UserMain to initialize all the OS functionality." - taken from a post on the forum by Larry Gitlitz.
Note that in C++ code non-local static object initialization is done prior to the initialization of the uCOS (this is determined by the compiler). Therefore, don't make any uCOS calls in any static class constructor. The uCOS uses a preemptive kernel and tasks with lower priority numbers run before tasks with higher priority numbers.
What is the meaning of the java.lang.NullPointer Exception error?
For one explanation, see the wiki entry on Importing Existing Projects into Eclipse. Scroll down to the second image, it shows how to fix a common cause of the problem.
How do I make things work under Windows 7?
The most common problems are permission related. The three things that seem to help are:
- Set the problematic tool to run as administrator
- disable UAC (user account control)
- Set the compatibility mode of NBEclipse and Auto Update Tool to "Windows XP SP3".
Hardware Related
Where can I find the connected pin outs for my device
Pinout information can be found in your platform help documentation, located in \Nburn\docs\platform. Refer to the section labeled "Signal and Connecter Information"
Where are the module schematics
All of the signals on our modules are brought out directly onto the pins from the processor, so there really isn't a need for the schematic.
Since we provide all the source, we provide a schematic only with a license agreement to protect our IP. For additional information, please refer to the Hardware Specifications section in your Hardware User's Manual. From Windows: Start --> Programs --> Netburner NNDK --> Platform Hardware. If you have specific questions about the pins, please submit another support request, and we will answer them.
Which USB to serial converter should I use
The most reliable USB to Serial Adapter we have found so far is Cables Unlimited USB 2.0 to DB9M Serial Adapter. Here is a link to this adapter at Tiger Direct: Unlimited USB to Serial
What are my module power consumption levels
NetBurner Module Current Draw (mA) Running the Factory Demo
- Mod5234-100IR - 210 no network , 310-with network
- Mod5270-100CR - 170 no network , 250-with network
- Mod5272-100CR - 320 no network , 400-with network
- Mod5282-100IR - 220 no network , 330-with network
- Mod5282-100CR - 210 no network , 300-with network
Monitor Related
How do I use MTTTY to disable the monitor output
Connect your host computer to your NetBurner device using MTTTY (From Windows: Start --> Programs --> Netburner NNDK --> Mttty Serial Terminal) and boot to the monitor. You will see the nb> prompt.
Go into the Setup menu (type the word setup at the nb> prompt and press the Enter key), and turn on quiet boot (option Q). This will disable the boot message that is normally printed out when the system is booting. Note: It is still possible to press an (uppercase) A to enter the setup prompt during boot.
If you wish to completly disable stdo, you should comment out the iprintf statements in the ip.cpp file. These statments are located around line 630.
How can I change the wait time of my NetBurner device
There are two ways to do this: If networking is enabled in your application:
- Open up IP Setup (Start --> Programs --> Netburner NNDK --> IP Setup tool)
- Select your NetBurner device in the "Select a Unit" window
- Click on the "Advanced..." button in the IP Setup window
- Change the "Boot Delay" option to whatever value (in seconds) that you want
- Close the IP Setup application
If you do not have networking enabled, you can use MTTTY to change the wait time of your NetBurner device:
- Attach a serial cable (use a NULL modem cable for an SB72EX), from your host computer to your NetBurner device
- Open up MTTTY (Start --> Programs --> Netburner NNDK --> Mttty Serial Terminal), reset your NetBurner device, and type an uppercase A (i.e. A) in the MTTTY window before the (current) wait time expires to get into the NetBurner monitor program. You will see the NetBurner prompt (i.e. nb>) in the MTTTY window
- At the nb> prompt type the word setup and press the Enter key on your keyboard. You are now in the MTTTY setup screen
- Change option 7 (wait) to whatever value (in seconds) that you want. Remember to press the S key on your keyboard to save the change, then press the X key to exit out of the setup program
WARNING: If you do not have networking enabled in your application and you set the wait time to 0, you will be unable to change the wait time.
NBEclipse Related
How do I import a project into NBEclipse
Importing a project into NBEclipse
NBEclipse gets internal error during early startup
The most common issue that causes this is that you are running Java 1.4. You should upgrade to the latest Java JDK, and this problem will resolve itself.
NBEclipse is running low on memory, how do I fix this
NBEclipse can be a memory intensive application, depending much on the size of your application. At a minimum, you should have 512 MB of ram in your machine. If you have less then this, the best solution for you is to upgrade the amount of RAM in your machine.
One way that you can reduce the memory footprint on these large projects would be to disable the indexer. To do this, right click on project and go to properties. Under C/C++ Indexer, select No Indexer. Now, restart NBEclipse and see if that improves your memory situation.
Another solution to try is to increase the memory available to NBEclipse. Create a windows shortcut to NBEClipse.exe (right click, create shortcut). On the shortcut, right click and go to properties. Change the target from C:\Nburn\NBEclipse\NBEclipse.exe to C:\Nburn\NBEclipse\NBEclipse.exe -Xmx512M
Run NBEclipse with the shortcut, and you should have more memory available. If you still get a failure, try 1024M. If you are using Eclipse (as opposed to NBEclipse) you can also modify the .ini file. See the How To article on Eclipse Memory for more details.
While debugging, I am getting an error stating "mi-cmd-env-cd: Usage DIRECTORY"
NBEclipse does not support spaces in the path name/project name while debugging. This is an issue that exists in the standard Eclipse/CDT release from the Eclipse Foundation. We will watch for this issue to be resolved in newer releases of Eclipse. As of Eclipse 3.4, this is still an open bug.
Wiki Related
How can I be notified via e-mail when a Wiki page changes
See the Automatic Wiki Notification page.
How do I add a new Wiki Page?
You first need to log in. Your credentials from the NetBurner forum will work here as well. Then make sure the page you want to add doesn't already exist. Looking at the Contents page or the special All Pages page will make that easy. Then use the search box in the left panel and search for the page using the name you would like for your new page. For example, if you want to page to be called Developing Under Linux then type that in and click Go. You will end up on a page that tells you the desired page does not exist. That page will contain a link that will allow you to create the page. If you click that link the page will be created and ready for editing. The actual page name created will replace spaces with the underscore character so the name you use in links will be (per the example) Developing_Under_Linux. The Wiki doesn't handle some characters like +, very well. You probably want to stick to the basic 26 letters, ten numbers and the space character to be safe. Be sure to add a Category tag to your page. If you use a standard category that is used on the Contents page your page will automatically show up on the Contents page. If appropriate you might want to link to your page from this FAQ or from the How To page.
