Brew technology Overview

Source: Internet
Author: User

 Brew technology Overview

Author: Wang Xiaochuan

Brew, the wireless binary Operating Environment launched by Qualcomm, is an open standard thin application environment designed for wireless devices. With the BREW Platform, many wireless applications can be easily and quickly developed. Third-party developers, which were barely tied to the wireless market, can be involved in this new market. Due to the versatility of the BREW Platform, software developers can write applications once in the brew environment without any changes, and can be applied to all types of terminals that support brew.

Brew's software development kit (SDK) enables developers to work in a Windows-based environment they are familiar with and create and test applications. Since brew can manage all features that involve wireless voice, developers can demonstrate their skills without having to understand the complexity of deep chips and system software.

Qualcomm provides free brew to mobile phone manufacturers so that they can integrate brew into their devices. Qualcomm also provides brew SDK free of charge to developers.

By providing an urgently needed universal platform for wireless data application development and execution, brew has become an engine for promoting the growth of the entire industry. Developers can write applications faster, quickly enter the mass market, and ensure that benefits can be obtained. OEMs can launch new devices more quickly by doing a very small amount of internal development and integration work. By providing a wide range of applications, content, and services, carriers are creating new sources of revenue and gaining competitive advantages. Consumers can download Wireless Software that suits their personal interests. Therefore, consumers can customize their mobile terminals and drive the growth of brew-based wireless data applications.

1.1. Benefits of brew

In terms of quantity, the wireless device market is much larger than the desktop computer market. However, since there has been no convenient way to write and integrate applications for wireless devices, this market has always kept application developers away, leading to the de facto absence of the wireless application market. Through brew, Qualcomm provides an open end-to-end solution throughout every step of the entire value chain, opening the door to this rapidly growing market. As a result, as on a desktop computer, consumers will eventually have the right to choose and control applications on their wireless devices. This means that the boost to the wireless data market will be the power of the market and ultimately benefit all market participants.

1.1.1. For application developers

The Brew SDK allows developers to work in a familiar high-level environment (using Windows-based tools and C/C ++ languages) and develop brew applications using device simulators. Therefore, developers can write applications that can run on their mobile phones without having to have their own prototype machines.

By calling the powerful functions of the underlying chipset, brew enables developers to access local storage and processing functions, as well as embedded multimedia extensions, connection features, and positioning information, this allows you to develop powerful and attractive applications. Brew also released developers by managing complex phone functions.

Once the application program is written, brew provides a general running environment that spans many devices and models, helping developers enter a large and growing market. Brew reduces the need to repeatedly write applications for each type of device, and allows third-party developers to enter the wireless application market without having to have a relationship with the operator.

1.1.2. For carriers

Brew enables operators to provide users with a wide range of wireless data applications, content, and services. In addition to browsers, brew also supports many new applications that combine local and remote processing to provide powerful new functions, superior performance, and optimized network resource usage.

Brew also brings new profit opportunities to operators. In fact, brew turned operators into software retailers by putting a 24/7 mobile software store-a brew-based mobile phone in the hands of customers.

Brew creates a market-driven business model by enabling end users to download and run their selected applications wirelessly. Customers who download their own paid applications are more likely to use the application, which increases the user usage time and generates more revenue for the operator. Carriers can also offer unique brew applications for differentiated competition to reduce customer loss.

1.1.3. for end users

Brew provides wireless users with personalized services such as customized PCs by allowing them to download apps wirelessly. Brew will allow every market segment-or even every user-to freely choose the app they want most-the "killer app" in the wireless field ".

These brew-based applications will go beyond today's browser-based applications to provide more practical and shocking content, functions, and services.

1.2. Brew Architecture

1.2.1. Trinity brew

Brew provides:
A programming environment for developing wireless applications. It provides a runtime environment in the form of brew API and brew SDK, or BREW application execution environment, that is, brew aee, this ensures that the developed application can run a distribution environment in a variety of devices in a consistent manner, or brew distribution system, that is, brew BDS; brew BDS provides a shortcut for carriers to distribute and sell brew applications to consumers. Consumers can download brew applications to their mobile phones or other wireless devices wirelessly. BDS provides a virtual market mechanism for wireless application submission and pricing negotiation.

1.2.2. Brew programming environment

Brew APIs and sdks greatly simplify the development of wireless applications in C, C ++ and other languages.

Brew APIs are organized in a group of interface classes. Each class defines a group of functions that provide a specific service. Some services, such as Event Notifications, menus, dialogs, and other graphical user interfaces and Internet connections are standard configurations in modern programming environments. Some interface classes display some features in the wireless environment, such as Address Book, ringing library, and positioning information. Therefore, the brew API allows developers to develop wireless applications without having to understand the internal mechanism of the device.

Brew emulator allows developers to test the running status of wireless applications on a series of simulated devices in windows, thus eliminating the need for testing on real devices. (When tests on real devices are required, Qualcomm provides a brew developer lab for developers to test on many real mobile phones that support brew, real-time technical support is also available .)

Developers familiar with the event-driven graphic interface environment will find that brew APIs are easy to use. Event processing, menus, dialogs, resources, editing, and file-based long-term storage and record-oriented databases are standard concepts in brew. Moreover, the Windows-based simulated environment allows programmers who are familiar with writing Windows applications to develop brew applications with Visual C ++.

Because the brew API can be applied to multiple devices, programs written using the brew API can be easily transplanted from a wireless device to other wireless devices. Therefore, developers can program one time to run on multiple devices. Although the program may be fine-tuned for different devices due to different Display sizes, many of these minor adjustments can be easily tested in brew emulator. This is the same as that of the past, if developers want to develop programs running on a variety of wireless devices, they must repeatedly port the code one by one, and be familiar with all the details of the running environment of various devices.

Brew APIs support extensions. Device manufacturers, operators, and developers can write plug-ins to expand brew functions. These plug-ins may include players and browsers that support other multimedia formats, as well as Java virtual machines.

1.2.3. Brew Runtime Environment

Brew's application execution environment (aee) is a sophisticated software interface layer. Device vendors integrate it into their own software to support brew APIs and runtime environments. Providing aee in a new terminal device requires that the device manufacturer only need to transplant aee. Compared with the traditional process of porting all applications on each terminal! In addition, brew emulator provides an aee Windows Port, so Brew emulator can run small programs for Windows. Because the RAM (random memory) and flash memory used by aee are extremely small, brew can not only make the high-end models icing on the cake, but also play a role in the low-end mainstream models.

Demonstrate how brew fits with other wireless software layers of a wireless device. It can also be seen how the brew layer shields applications from the same chip layer. The browser and Virtual Machine engine boxes represent brew's extended applications. For example, a browser's extended application may display graphics formats generated by non-source programs, such as GIF files. a vm engine may be a Java virtual machine that supports running Java applications on the Brew platform.

In addition to providing brew API services to applications, aee also manages application execution and responds to users and emergencies in a timely manner, such as incoming calls and SMS calls. For example, a running BREW application can be automatically suspended immediately when incoming calls exist. After the call is completed, the application will resume automatically.

However, aee does not manage some user interfaces other than brew applications. For non-brew applications running on the same device, aee does not play a role.

1.2.4. Brew distribution environment

BDS is a breakthrough technology that allows end users to download applications wirelessly using mobile phones or other wireless devices. Wireless Application developers can get a corresponding return based on the number of applications purchased by users.

To ensure secure download of brew applications, an independent test process named "True brew" ensures that the applications provided by developers run securely and stably on the terminal and are compatible with the Brew platform. Terminals supporting brew can only run applications that have passed through the developer, operator, and/or Qualcomm digital signature. Some carriers only provide applications that have passed the true brew test.

1.2.5. Brew and hardware

Brew aee can be transplanted to wireless terminals that use Qualcomm msm3100 to msm6050 and upstream CDMA chips. Brew can also support aee transplantation from other standard terminals.

The following describes some advanced functions supported by the Qualcomm CDMA chip and how brew uses these functions:
ARM Kernel: brew uses ARM kernel to support a series of operating systems and telephone services. All the terminals supporting brew run are based on the ARM architecture of the embedded RISC microprocessor.
GpsOne: a wireless positioning technology. Brew supports GpsOne.
Purevoice: brew can use the audio system in the terminal to play advanced music files optimized by Qualcomm purevoice format.
MP3: brew can use the audio system on the terminal to play MP3.
Cmx: brew can use ASIC to support cmx and play MIDI files in the terminal's audio system.
Bluetooth: short-range radio technology that supports short-range wireless connection between digital devices. Brew will support Bluetooth connections in future versions.
Speech recognition: brew of the future version will call the speech recognition service in the chipset and change it into an application.

1.3. Start Using brew SDK

When you first download the brew software kit (SDK), you must first register it as a developer. Developers give you the right to access brew development-related areas on the brew website. Once you have downloaded the brew SDK, you can install it immediately.

Follow these steps to download and install the brew SDK:
1. In your browser, type the brew website address: http://www.qualcomm.com/brew
2. Click developer in the menu so that you are directed to the web page that brew sets for developers.
3. Click "Become a brew developer"
4. Click the brew developer Registration Form link.
5. Enter required information in the registration form and click "register" at the bottom of the page.
6. Click the link that says "Click here to get SDK now ".
7. Select the SDK version you want and click the corresponding "Get SDK" key. In this book, the SDK version is 2.0.
8. Read the authorization agreement carefully and click "yes" at the bottom of the page to accept the terms of the agreement.
9. You are directed to the page of the SDK download link for your specified version. For example, you are directed to the page for downloading the English version of sdk2.0. Click the download link to download the brew SDK.
10. Store the brew SDK and install executable programs to the local disk. The specific serial number depends on the browser you use.
11. Start the downloaded installer and install the brew SDK as instructed. If you are prompted to restart the machine, just do it.
12. Select Start/Program/brew to browse the components under the brew SDK.

1.3.1. Main Components of brew SDK

The Brew SDK contains the following components:
Brew Simulator-a Windows-based application used to execute and test brew Applets in a simulated mobile phone appearance and function environment
Brew resource editor-a Windows-based application used to create resources used in the brew applet, that is, user interface strings, bitmaps, and dialogs
Brew MIF Editor-a Windows-based application that allows you to create and modify module information files ). Each MIF corresponds to a specific module and contains information about applets and included classes.
Brew device configurator-a Windows application used to browse and edit virtual wireless devices used in the brew simulator.
Brew compression bitmap authorization tool-a Windows application used to create an animation brew compression Bitmap (BCI) file used in the brew applet.
Brew purevoice converter-a DOS application that converts audio files into a memory-sized is 733 format in Windows WAV format, also known as purevoice. This converter can also restore the is 733-decoding file to WAV format.
Document Set-contains a full set of PDF documents using brew, including:
Brew SDK User Manual
Brewapi reference
Brew device configurator Manual
Brew resource editor Manual
Brew MIF editor Manual
Brew compressed bitmap authorization Guide
Brew Tool Guide. This document covers the purevoice converter.
Sample Code-including full demonstration, which is only used to explain the applications and programs of a given brew Interface

1.3.2. Start the brew Simulator

Now that you have installed the brew SDK, let's operate on several small programs in the brew simulator.
The procedure is as follows:

1. Start the brew simulator in the Start menu, and choose Start> program> brew simulator.
By default, the simulator displays Sharp's Z-800 phone. The mobile phone has a 256-color display. See the following figure.
2. If the simulator does not show the sharp Z-800 phone, select the tool/settings and set the folder path as follows:
Initial device: C:/program files/brew/devices/sharp Z-800.qsc
Initial app dir: C:/program files/brew/examples/
Initial MIF dir: C:/program files/brew/examples/MIF/apps/256 color/
______________________________________________________________________
Note: Set the folder path to enable the simulator to select a specific mobile phone and display all the mini programs with the MIF.

3. Press the menu key (blue key marked with m) in the phone diagram, and take turns to operate the applet displayed on the "Mobile Phone. The general rules are as follows:
A. Press the menu key to select
B. Use the four highlighted keys around the menu key to indicate the direction (top, bottom, left, right)
C. Press the "CLR" clear key to stop the current operation.
D. Press the "end" end key (a red phone number above) to exit from a certain program.

1.3.3. Differences between the simulator environment and real devices

As you can see, using the brew simulator is similar to using a real brew phone. This simulation environment allows the use of simulators to design, develop, and test small programs. You can use the simulator to adjust the display speed and embedded file system speed to enhance the sense of realism.

The following are the differences between the simulator environment and real devices:
Speed: Generally, the speed of a simulator running a applet is faster than that running on a real device. The network speed of the simulator is also different from that of the real device. Therefore, it is necessary to perform performance tests on real devices at a certain stage of development.
Audio Frequency: the bandwidth in the real device may be different from that in the simulator environment.
Appearance: the visual appearance of the simulator is slightly distorted compared with the real device, including the font, exact position, and indicator icon (display signal strength, battery power, and other information above the display, and brand and aesthetic signs.
Text input-the simulator uses the standard input mode. Different types of real mobile phones may use different input methods. For more information about text input, see the corresponding data table.
Memory-the simulator has more memory to support applets. Although the heap size of the simulated device can be set in the device configurator, the stack size does not work.

1.3.4. Modify, recreate, and test a brew Applet

Let's take a look at several off-the-shelf brew programming experiments. We will modify, recreate, and execute the "Hello World" applet.
1. Start Microsoft's Visual C ++.
2. Open the project and source file. In Visual C ++, select file/open workspace and open C:/Program/brew/examples/helloworld. DSW.
3. Select FileView in the Left box to display the folder, and then open the helloworld. C source file in the source files source folder.
4. Modify the string in the helloworld_handleevent () function, change Hello world to hello brew, and maintain the existing syntax structure.
 
5. Select build hellobrew. dll from the create menu. If there is no connection error, you can run the applet in the simulator. Otherwise, check the modification to see if there are any errors.
6. Select build/execute from the main menu, or press Ctrl + F5 to start. The "executable for debug session" dialog box is displayed.
7. Move the arrow to the right of the text field, select Browse from the pop-up menu, and select C:/Program/brew/bin/brew_emulator.exe.
Note: This operation determines the program to be debugged. Only one operation is allowed for each project.
Note: If visual C ++ warns you that the program does not contain any flag, just click OK.
8. In the simulator, find and select the hello World Applet By Using the menu key in the mobile phone.
9. Pay attention to the above modifications. If you want to set breakpoints in the source code, see the changes.

After modification, the following information should be displayed:

So far, we have briefly introduced brew's architecture and programming environment. If you want to learn more about brew, please log on to the content related to http://www.qualcomm.com/brew.pdf or log on to the http://bbs.unicom-brew.com forum.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.