/home/karthik/blog

Kompazz: Some more screenshots of KompazzVG

Posted in kompazz, kompazzvg, Linux, Mobile Frameworks, openmoko by Karthik Murugesan on June 10, 2008

Its quite a long time since have provided any updates about KompazzVG. Hope the following screenshots of some test applications running on KompazzVG details the progress of KompazzVG.

1. Clock

2. Subway Map

3. Lion

4. Tiger with Scissoring

5. Line Stroking

6. Simple Path Stress Test

7. Compositing

8. Flowers

8. Image Wrapping (Perspective Transform)

9. Radial Gradient




10. Linear Gradient

11.Image Pattern

12. Image Pattern 2

13. Blending

Useful References – Android Internals

Posted in Linux, Mobile Frameworks, Programming by Karthik Murugesan on December 31, 2007

Generate BREW .mif file from Command line

Posted in Mobile Frameworks by Karthik Murugesan on January 4, 2007

Most of the BREW developers know how to create BREW .mif files using a BREW mif editor. But with the latest BREW SDK Tools 1.0.1, we can create the .mif file using the the BREW resource compiler (similar to creating .bar resource files).
For this, we have to create a .mfx file which is a XML representation of .mif binary file similar to .bar file’s XML equivalent .bfx file. Then we can use the brew resource compiler (brewrc) to generate the .mif file from .mfx file as shown below.
“C:\Program Files\BREW SDK Tools 1.0.1\ResourceEditor\brewrc” -o ./mif/testing.mif

Continue reading @ http://www.devx.com/wireless/Article/33417/1954?pf=true

C++ Framework over QualComm BREW

Posted in BREW, Mobile Frameworks by Karthik Murugesan on November 24, 2006

SophiaFramework is BREW C++ Library & GUI Framework & WSDL / SOAP / XML Middleware, which helps you develop reliable BREW applications with stunning look and feel. The architecture of SophiaFramework consists of three layers: GUI, Utility and C++ Wrapper. Check it out.

http://www.s-cradle.com/english/products/sophiaframework/index.html

Compiling BREW Resource files in VC6/Command Line

Posted in BREW, Mobile Frameworks by Karthik Murugesan on November 24, 2006

An useful article from http://www.mamlambo.com regarding compilation of BREW Resource file BRX along with the Applet source in VC6. http://www.mamlambo.com/writing/articles/000077.html

PS: This can also be used for integrating with Make tools for command line compilation.

Another article on BREW Applet Compilation using WinARM GCC [developer.com]

Posted in BREW, Mobile Frameworks by Karthik Murugesan on November 17, 2006

Another article on BREW Applet compilation using WinARM from Developer.com . Check it out @ Getting Started with WinARM for Qualcomm BREW

HOWTo Compile BREW Applet with GCC in Thumb Mode [stevewetherill.com]

Posted in BREW, Mobile Frameworks by Karthik Murugesan on November 17, 2006

Steve has provided the detail on how to compile BREW apps in Thumb Mode using the WinARM compiler. Check it out @ http://stevewetherill.com/?p=102 . Thanks Steve.

This along with the post “HOWTO Compile BREW applets with WinARM 4.1.0” provides complete details on Brew applet compilation with GCC.

BREW’s Thread Blocking support using IThread [devx]

Posted in BREW, Mobile Frameworks by Karthik Murugesan on November 15, 2006

BREW follows an asynchronous programming model based on cooperative scheduling which makes porting Blocking IO based applications very difficult. Also its not possible to sleep/yield an applet in BREW. In order to ease this, BREW 3.1 has defined an IThread interface.

Check out this article for more details on IThread.

http://www.devx.com/wireless/Article/32077/1954

Challenges in Porting Existing C Code to BREW [devx]

Posted in BREW, Mobile Frameworks by Karthik Murugesan on November 15, 2006

A good article from Ray Rischpater regarding porting of existing C Application to BREW

http://www.devx.com/wireless/Article/31845/1954?pf=true

BREW Debug Key Sequence [brewforums]

Posted in BREW, Mobile Frameworks by Karthik Murugesan on November 8, 2006

The BREW debug key sequence for enabling the BREW Debug which can be used to debug the memory, network state etc. The initial ### sequence before the debug type is OEM-configurable. For example, LGE has opted to use ********** (10 * keys) rather than ###. Most OEMs use the default sequence.

Information on Debug Sequences:

Please note that all the Debug key sequences noted below are the default key sequences. These key sequences may be modified by the OEM.

###0: Turn Debugging off
This debug key sequence resets/toggles off all debug states.

###1: Memory Validation
On every heap access, BREW walks the heap to determine if the pointer is in valid range and will not over-write/over-read a heap node. An exception will be thrown if the heap access will cause corruption of a heap node.

###2: Net Debug Tool
The Net Debug Tool can be used to view the device’s network (socket and PPP) states while your application is running. When the Net Debug Tool is turned on, a box will appear in the right hand corner and will display a series of codes that can be used to determine the state of your application’s data call. The codes vary per BREW version and are shown below.

Network State Codes:

BREW 1.0:
‘c’ Socket Connecting
‘C’ Socket Connected
‘x’ Socket Closing
‘ ‘ Socket Closed
‘I’ Socket Idle
‘R’ Socket Read
‘W’ Socket Write
‘d’ PPP Opening
‘D’ PPP Open
‘-‘ PPP Closing
‘O’ PPP Closed

BREW 1.1:
‘c’ Socket Connecting
‘C’ Socket Connected
‘x’ Socket Closing
‘X’ Socket Closed
‘I’ Socket Idle
‘R’ Socket Read
‘W’ Socket Write
‘r’ Socket RecvFrom
‘w’ Socket SendTo
‘d’ PPP Opening
‘D’ PPP Open
‘z’ PPP Closing
‘Z’ PPP Closed

BREW 2.0:
‘c’ Socket Connecting
‘C’ Socket Connected
‘x’ Socket Closing
‘X’ Socket Closed
‘I’ Socket Idle
‘b’ Socket Bind
‘B’ Socket Bound
‘R’ Socket Read
‘W’ Socket Write
‘r’ Socket RecvFrom
‘w’ Socket SendTo
‘^’ PPP Opening
‘=’ PPP Open
‘v’ PPP Closing
‘#’ PPP Closed
‘<‘ PPP Sleeping
‘~’ PPP Asleep
‘>’ PPP Waking

###3: Largest Available Heap Block
Displays the maximum size block that can be allocated on the heap in the upper left corner of the screen.

###4: Debug Privileges
This debug sequence is not yet implemented.

###5: Debug Malloc – throws exception on MALLOC failure
Throws an exception on malloc failure.

###6: Debug Null – Every Nth MALLOC is failed
When this debug sequence is turned on, every Nth MALLOC will fail, even if RAM is available. Currently, N is set to 100.

###7: Sync/Async DBGPRINTF
This debug sequence toggles between two modes: synchronous DBGPRINTF and asynchronous DBFPRINTF. In synchronous DBGPRINTF mode, BREW waits for certain duration before returning from a DBGPRINTF statement in order to allow time for the DBGPRINTF message to be sent on the serial port. In the default, asynchronous mode, the DBGPRINTF returns immediately.

###8: Debug Dump Modules
This debug sequence is not yet implemented.

###9: Debug Dump Heap
Every time this sequence is pressed, heap and resource usage information is dumped on the emulator debug window or onto the Serial port.

The heap info consists of the number of bytes, the system that allocates it, an internally used index, the file name and line number, and whether the memory is locked (L) or unlocked(U).

Additional information is displayed on Allocated and Free RAM, and resource usage.