Last month at Motorola
9 years, 8 months ago Posted in: Project 0

In addition to writing the report on training as required by the module, I mainly handled two tasks. Using the CETK, which I wrote few months back, I was asked to conduct functionality and unit testing on the firmware code being written. As the current power micro firmware which is in assembly language is non-maintainable, it was decided to write it again in C language more efficiently and cleverly. Thus it was required to test the conformance with the existing specification, functionalities and API. CETK was used to run automated unit tests on the code, where initially four of them failed. Subsequently the code was modified in steps, and finally except for the yet to be implemented EEPROM write function, all other tests passed.

In CETK, as in any other unit tests, we prepare test cases and write functions to utilize the existing function calls and APIs, often repeatedly, and it is uncommon to go to the abusing extent to verify the robustness of the code.

The second task I handled was related random numbers. Along with its next mobile platform architecture MPA 2.0, Motorola is going to introduce battery authentication, where unless the attached battery (also known as gifted batteries) responds correctly it won’t be allowed to power the device. This can prevent the use of non-Motorola authorized batteries in the devices. It is going to be managed through the existing power management unit – power micro – by challenge response sequence.

The challenge will be encrypted through CHAP 1 algorithm implemented in a Texas Instrument chip which also contains the private key. The battery responses to the challenge with a response produced with the public key provided by Motorola. However to increase the security, random number will be used to produce the challenges.

As a physical parameter needs to be used to make a bit sequence real random, we used a pseudo random number generating function built with several shifter s and XOR operands together with a reseed from physical parameters such as Voltage, Current, Charge and Temperature. The next step was the test for randomness, which was implemented with a histogram generator. Initially a string of 64 bit length was used, and an unsigned long integer was sufficient for calculation. As around million samples were used to generate a histogram, to speed up the calculation and reduce the memory consumption, two arrays were used where one for bit string and the other for frequency. Upon the arrival of a bit string, if it is already found in the first array, the index is used as key to the next array and value is incremented. If it is not found, it is added to the array and the new index is also added to the next array and value is set to one.

Secondly I wrote the random number generator in code as per the algorithm implemented in hardware, and produced hundred thousand bit strings and checked its histogram through the code written previously where all were of frequency 1 which showed an excellent randomness. However, as it was decided to use 160 or higher bit length, we had to change the program. I wrote a variable bit length class and implemented operator overloaded functions to allow the class to be used as an integer.

As we reached the end of the training, we started to write our reports for which we started to collect details about the company, history, finance, structure and performance. Although many details were obtained from Motorola public web site, Motorola Corporate site, annual reports and various other publications, the evolution of the Sri Lankan branch was only learnt from a senior colleague and worth sharing.

It was founded in 1999, by Llavan Fernando as MobiNetix PVT ltd, under the aegis of US based, a dot com company to offer interactive point-of-sale transaction systems and electronic signature capture devices. Later in 2001, it underwent a name change to The company was then handling both hardware and software aspects of Point of Sales (POS) terminals, where Sri Lankan branch was concentrating on Software field. In 2001, amidst the dot-com bubble, the company’s profit soared and in order to address the scalability it was split into two; to handle software area and for hardware, where Sri Lankan branch naturally came under However the recession followed the dot-com bubbled made the management of two different companies difficult and was absorbed into However, Sri Lankan branch remained as Crossvue PVT ltd. The enormous growth and stunning revenue of the company attracted Symbol INC, a US based technical leader in similar industry, which made an offer in 2004 and acquired (including Crossvue PVT ltd in Sri Lanka) for 3.5 million USD. Motorola, Inc offered the acquisition in the beginning of 2006 and completed its acquisition of Symbol Technologies, Inc. for the equity value of approximately $3.9 billion. Sri Lankan branch officially changed its name from Symbol Technologies PVT ltd to Motorola Technologies PVT ltd in February 2008.

Related Posts

Leave a Reply