Chapter 1 About Palm This chapter will conduct some simple introduction to this novel thing of Palm. For readers who have a certain embedded software development, I want to start programming as soon as possible, I suggest you skip this chapter and start reading from the second chapter, and then return to this chapter to browse. Some of the chapters in the book mentioned how to write a Palm OS application for headbands, wristband devices. More in the first chapter is more about some background knowledge about Palm products: What come from? Why did other handheld devices have fell horses, but it has achieved great success? What is the thinner difference between different version of the operating system? And some discussions on popular P alm hardware and their characteristics. As a programmer, whether it is not very important to master this knowledge, but as a professional Palm developer, these are very reference value. In addition to direct application development, there are three chapters involved other knowledge. As the Tenth chapter is talking about the design problem of the application, this is great for improved the program user interface in various phases developed in Palm program. Chapter 11 is some hardware and software information provided by developers, telling you how to contact resource providers. Chapter 12 is to organize and archive your P Alm OS C code to make it more readable and reuse. For various reasons, Pen Computing Device has not developed in the early 1990s, it will tend to fall. At the time, Palm Computing launched Pilot and creating a new history. Pilot's market growth rate is fast than in any of the previous computing devices, and even more than the growth rate of the previous TV and the recorder. Then, in the case of the previous handheld equipment, P alm computing can stand up in the army, create a brilliant? Have a rich imagination, you will make a variety of speculation. But my point is this: Palm Computing has a large extent depends on "user experience" mentioned by Jeff Hawkins (inventors of Pilot and Palm OS). When I saw Jeff Hawkins, I couldn't help but think of Yankee Craftsman in the past era. He is a person who is good at thinking, accurate, and paying attention to design. He can weigh the land for the user, he can use himself as a new user to play products, which is really a valuable skill. I have heard some rumors say that when he developed G Raffiti, when he was a meeting, he always took something on the paper. People think that he is a little quirky, but he is imagined to test G Raffiti with a real user experience: "Can I use this to have a record?" Another story about him, it is legendary he has A piece of wood is always carrying a piece of wood for a while, and the buttons do not exist on it, saying to it. People think that he is a bit crazy, and the wood is p ilot in his eyes. I think the success of Palm is that Jeff Hawkins is fully designed according to "User Experience". He is as simple as possible without affecting the user's use, so that anyone can learn to use quickly and effectively, and he also strives to reduce its price. The second big thing that Jeff in the past and now Handspring is to continue to develop from the developer's perspective. I have developed on many platforms. I can affirm that Palm OS is the most interesting and most likely to be developed in the inventive inventions. This easy and interesting also comes from design and brings countless free and innovative PA LM applications. Palm computing's historical Palm is not a year. Its achievements and success paths are not only for Palm developers, but also inspire significance for people engaged in any new technology design.
Jeff Hawkins and Donna Dubinsky have created Palm Computing. Jeff works in Grid. Grid is famous for Laptop that falls from the second floor and not bad. Maybe everyone still remembers that most PCs are very easy and bad. If your P c is slightly collided, the data above it will be damaged because the hard disk is very delicate at the time. So we are very impressed with Grid. Palm Computing begins with a software company. Initially developed Graffiti, a data entry for a shorthand method found on all Palm OS devices. Such inputs are sold as additional products for NEWTON and other early handheld machines. In addition to the success of Graffiti's own, the entire Pen Computing market is also very prosperous. Palm Computing spent very strong in the development of Casio Zoomer, but this very promising equipment also walked other old roads of countless palms. However, Jeff determined that the unique way to save the Pen Computing market is the hardware of the design to the road. In order to successfully achieve this, there are two prerequisites: Palm developers must design the hardware of the road, and some people must provide the funds required to continue production and sales equipment. In order to solve these problems, Jeff ran around his wood. Early Palm OS's appearance and feels were developed on the basis of Hypercard. Some important designs have also been produced. The more deserved is that J Eff persuaded investors in investigating the first Pilot in the time based on the input pen. In March 1996, Pilot 1000 began selling in a retail store. Based on the US Robotics, which is familiar with Palm Computing, in the process of pilot development, is unparalleled, and the first model that has little defects has been introduced. The price is $ 299. In 1997, the US Robotic was bought by 3Com, so Palm Computing incorporated 3COM and moved to 3COM's Camp Santa Clara. In the spring of 1998, very successful Palm III debuted. In the second half of 1999, Palm Computing was re-independent, also known as Palm Computing. Palm Computing's overall structure Palm computing is no longer part of 3COM. As a developer you need to know its overall structure. Palm Computing consists of several institutions, with two institutional developers, it is necessary to know that they have been called platform groups and hardware groups in history. Platform groups bring you a Palm OS system. What they want to do is to develop Palm OS and issue licenses. They don't care what the hardware group is doing. If you want to know the information about Palm OS software or tool, ask the platform group. Hardware groups are also agency that issued a Palm OS license, but they distribute hardware licenses, they compete directly with other hardware licenses. If you have questions about Palm Computing's specific hardware, ask for hardware groups. Palm Operating System In this section, the Palm OS will be briefly introduced to the various versions of Palm OS and which features they support in the process of use. Version 1.0 in 1996, support version 1.0 Pilot 1000 market market, next is that other versions of Pilot 5000.1.0 have no big changes in most features, this description version 1.0 is successful in its original design. This is very great. February 2.01977, Palm Pilot and Professional Palm Pilot, a Professional Palm Pilot. Soon IBM OEM products are also available. Professional Palm Pilot has a TCP / IP embedded stack, which can make Palm Pilot on TCP / IP networks if it can communicate with Palm Pilot.
Version 2.0 Improvement is very conservative on the basis of version 1.0, mainly improvements as follows: l Added TCP / IP Support 2 Increase the scroll bar 3 easier to classify and find 4 more easily for text boxes (Fields) operation 5 easier The Categories operation 6 is easier to add many standard fields for event operation 7, March 3.0, in March 1998. As the first Palm product after joining 3COM, the Palm III of version 3.0 is supported. The primary motivation to introduce this version is to extend the PALM's infrared beaming function, thereby adding a set of instructions for infrared rays. The 3.0.2 and version 3.0 features of the Symbol SPT1500 are basically the same, and the main improvements are as follows: l Added the infrared beaming and its full help file 2 grayscale increased to four: black, dark gray, light gray and white 3 Dynamic Memory HEAP (User Run) Added to 96K4 Add more advanced sound function 5 easier to generate and use custom font 6 to add file system 7 for those who like to use file systems More easier Generation Dynamic Forms and Controls 8 Added Progress Dialogs 9 Each device has its unique serial number, which only supports this function in the 3.x device. L0 Application Loader (launcher) Basic mature version 3.1 March 1999, support version 3.1 Palm IIIX and Palm V came out. Soon IBM put these products with their own trademarks, but still produced by Palm Computing. Version 3.1 has the following improvements: L1 corresponds to some minor changes to ASCIIs on 0x88. L2 supports Dragon Ball EZ processor version 3.2 May 1999, the Palm Vii of Version 3.2 is supported. Initially, Palm VII was only sold in New York, and it was gradually promoted at the end of the year. Symbol's latest components are also based on version 3.2. Version 3.2 is mainly supported wireless and network functions. Improved serial communication software is also added. You should check if the product with 3.2 has these functions because these features are not necessarily valid, such as wireless access. A new Palm OS, a new Palm OS, supported by Version 3.3, including Visor and TRG Pro. 3.3 Version Palm OS has a big deletion in the operating system to facilitate better use of third parties. Version 3.5 In February 2000, the first color Palm of Version 3.5 was introduced. The biggest feature of version 3.5 is to support color. Its main improvement is as follows: l Supports 256 color 2 to add graphic buttons, available bitmaps displayed or without 3 Slide control 4 Added Dynamic Menu 5 More Easy to Compile Accessories (Gadgets) and User Custom Control Product Table 1-1 lists the various PALM OS products mentioned in this book. Table 1-1 Pilot 1000 and Pilot 5000 This is based on version 1.0-based products, without backlight personal palm pilot and professional Palm Pilot, two products are very similar to 5000 in physical appearance. They support 2.0 version of Palm OS and backlights Palm IIIPALM III is the first use of a conical plastic housing, the first Palm with an infrared port. 3.0 version of Palm OS was originally designed for Palm III. Palm IiixPalm IIIX except for better display and more memory (increased from 2m to 4M), and the Palm III is basically the same. Palm Vpalm V has a thorough change in appearance.
It has a rounded structure and can be charged. Another feature of it is to adjust the contrast. Press the button on the side of the Palm V, you can adjust by pulling the slider on the display. In February 2000, the new Palm V of the support version 3.5 will be available. Palm Viipalm VII is the first product with wireless integration. In the appearance, it is very like Palm IIIX - there is a cumbersome top. Different, it has an antenna that will display the Palm.Net application directory when pulling out the antenna and opens the Palm VII. It has 2M memory. Palm VX was originally supported version 3.3. In February 2000, it will support version 3.5. Palm ViixEPalm VIIXE is also extending memory to 8m relative to Palm VII. Support version 3.5. Palm IiCPalM IIIC is the first product that supports colored products. It has 256 colors. Except for the topmost thicker than Palm IIIX, its appearance and Palm IIIX are basically the same. Palm IIIC and Standard Palm III are basically compatible, but it cannot be charged using the Palm III bracket. The Palm III can be fully synchronized and charged using the Palm IIC's bracket. Due to the color, there is a larger space, and Palm IIIC has 8M space. IBM products IBM products and its competitors are functionally similar. Such as: Early IBM Workpad is very similar to professional Palm Pilot. Newer Workpad and Palm IIIX are very similar, and PALM V is basically the same. Not exactly, Workpad C3 will support OS 3.5. However, because the ROMs of C3 and Palm V cannot be upgraded, the OS 3.5 is loaded into C3 is very possible. Symbol Product Symbol is the first company in Palm Computing. Since it supports the barcode identifier makes it feel free. The SPT1500 is very similar to Palm Vii appearance. There must be a certain space on the display to place the barcode recognizer. The SPT1700 and SPT1740 are very durable. And the SPT1740 has a wireless network interface. Both SPT1700 and SPT1740 are larger than standard PALM products. Handspring Visor This is a company, which Jeff Hawkins and Donna Dubinsky, who have just been found, have obtained Palm OS licenses. In the appearance, Visor is very similar to professional Palm Pilot. Its display and early days are similar, and they cannot read in a strong sun. Compared to standard Palm OS, Visor modifies the Datebook application. The main advantage of the Visor is to increase a dedicated extension tank -springboard slot. There is already a lot of expansion cards for this slot, which enhances the functionality of V ISOR in many ways. Trg Protrg Pro is very similar to the Palm III. The difference is that it has an expansion slot used to insert the Compact Flash card. The Compact Flash card is a standard card for digital cameras and other small electronic devices, so the function of TRG PRO has been extended in breadth and diversity. Palm OS development software development Palm OS can have many ways. This part will be introduced one by one. Specific details of various tools and useful services will be discussed in Chapter 11. This section will make a simple discussion. The selection of language Palm OS is developed by C API, so the most effective and flexible tools should be C. C is used to develop Palm applications that there is still a universal problem that C requires a memory that is not reassigned. Since P ALM's memory uses a lot of dynamic heap, C application software is necessary to work more efficiently, so using C development Palm applications is not suitable. Using 680x0 assembly language is another option for developing a Palm application. Even if you take a long time, it is not necessarily able to create a better compiler, especially like a GCC compiler that runs on the Mot Orola 68k series.
When you are very eager to run fast, I suggest you use C to use C, then use a good performance evaluation tool (Profiling Tool) to find the lowest function in the program. Use the compilation to write this function of this function until the required performance indicator is reached. Some tools such as Puma Satellite Forms allow you to quickly write complex applications. But it is worse than C flexible and performance. History, the shortcomings of this method development program is limited by the program license. In addition, there is a very different way to download applications related to Palm VIIs from the network. Palm Computing will provide a variety of tools to make programming easier. The hardware of Palm equipment We will explore some detail issues of Palm OS hardware. You may not necessarily use it when writing a program, but knowing this will make you more effectively using Palm. RAM and ROM theory, Palm OS can support a lot of memory. Today, Palm OS has a maximum memory of 8m. The Compact Flash card of the TRGPRO device supports 40M extension flash. Palm memory has a fast and non-volatile feature. Its nonvolatile is because there is also a small current support after Palm shutdown. This is why the battery is still consumed regardless of whether your P alm uses the battery. This makes you have to replace the battery often. Palm OS defines a small memory area as a dynamic heap. The stack, stack, stack, and other dynamic parts use this part of memory. The size of the dynamic stack of different devices is listed in Table 1-1. For devices that support T CP / IP, TCP / IP will take up 32K dynamic stack. Flash Memory on the Compact Flash card or other expansion card, more slower than the general memory. So far, only Visor and TrgPro support this flash. Remember, flash memory must be on the card 1 instead of card 0. You must know which card used on the Palm OS function call. Most Palm OS uses Flash ROM. This means that their operating system is theoretically upgraded to a newer version. Palm before Palm III, Palm IIIE, Visor and PDQ cannot upgrade their ROM. Motorola 68328 "Dragon Ball" Motorola 68328 "Dragon Ball" and later 68EZ328 "Dragon Ball EZ" is a processor of the Palm device. Like early Macintosh and Amiga computers, they consist of 68K processors. However, in addition to the general basic components, they also have timers, parallel ports, pulse width modulation circuits (P ULse Width Modulation Circuit) and LCD controllers, and the like. You don't have to go directly to these components. Otherwise, you will fall into the dilemma of how to work in the operating system, and even write the code and P alm OS new version or new Palm hardware is not compatible. State Palm has three operating states: sleep state, semi-sleep state, and working state. When Palm is in a sleep state, it looks like being closed, as shown as black screen. In fact, the Palm at this time is indeed similar and closed, which only uses few very little power. In general, it can be converted to this state by pressing a green button or waiting for the timer. Palm is in a semi-sleep state when Palm is powered up but does not have an event. You can write a program to make Palm can't be in this state, for example, you can keep calling e vtgetEvent () makes no rest time. But this will use to go to you more. Sometimes you have to prepare such a program waiting for an unseasive event, but for power saving, you should use this method as little as possible. All PALM devices in the interface have a serial port at the bottom.
When inserted into the synchronous cable, the Palm can be synchronized with the device of the other end of the cable. You can also insert MODEM or other hardware. In addition, all new Palm has an infrared interface. Most of the equipment's infrared interface is on top. However, there are some Palm (such as visor) infrared interfaces on one side of the fuselage. The interface supports the I RDA standard, so after you perform proper programming, you can communicate with the printer, TV, recorder, or other things. Palm VII has a wireless interface to connect Internet to connect to the appropriate wireless device. I truly recommend you to use the Internet library and Socket service. This way, your code can be compatible with future wireless solutions and current wireless hardware devices such as N Ovatel. The Symbol device has an integrated barcode scanner. This is useful for business applications you develop using barcodes. Symbol has a free and organized development tool that allows you to easily use the scanner when needed. Although I heard that a supermarket chain in Europe uses the Symbol device to make the purchase easier, there is a distance from the equipment to the retail phase. Today, barcodes are everywhere. Who knows how the Symbol's prospects? SPT1740, a Symbol device connected to the Symbol wireless LAN. Relying on this connection, you can access the Palm device through the Socket service. I want to see more solutions using Palm devices in the future. Visor and TrgPro have extended slots that can connect to any device. The Visor extension slot is a special design called Springboard. It is a well-designed expansion slot, but unfortunately did not form a standard. TRGPRO is a Compact Flash extension slot. There are also some limitations of this architecture that most other devices that use the Compact Flash expansion slot require large memory. Handspring and TRGPRO provide free development tools for their extension slots. The clock and timer have a real-time clock inside the Dragon Ball, which still maintains the current clock when the device is moderate. There is a clock that can jump once every one percent. It is used by the operating system to complete the interrogation screen, see if the clock is walking or note the trajectory of the input pen. When you call e vtgetEvent (), the system needs to wait for a while to return the control to you. The system to complete the waiting task is this clock. The screen of the screen PALM device is 160x160 pixels. All devices can display black and white two colors (or with some shadows to express black and white). All devices with Palm OS 3.0 or higher can run 4 gray shadows. After the contrast changes based on heat, etc., in addition to the image and the game, the middle two transition colors become difficult to distinguish. Palm IIIC has a Mars Matrix TFT screen that supports 256 colors and revolutionary breakthroughs. These colors are bright and delicate. The sound PALM device emits sound using a pulse width modulation (PWM) circuit placed within Dragon Ball. The PWM circuit is essentially a fairly fast switch. Using this circuit is very fast, the power supply of the speaker can issue some kind of blurred acoustic wave from the speaker. This speaker itself is very small, and the sound of the high symphony is larger than the low notes. It does not get too much bass effect from a Palm device. There are three sets on the PALM device: soft position, medium set, hard to position. You can press the small button within the small hole behind the device to implement a soft bit. If you use the Palm III and the input pen attached to the input pen, you will find that there is a small plastic rod that you will be inserted into a small plastic rod. Of course, it is also possible to use the paper clip. Soft bit will clear the dynamic pile. In the example of debuging this book, we will use a large number of soft positions. Press the reset and the arrow buttons at the same time will set it in Palm. Such settings in the Palm document are called "shift reset). If the application crashes on the soft bit, the device cannot be set by the soft position. Try it in this time. Since the inventory is not notified that the application is in progress, it is possible to submit a nerique application when an application has a P Alm operating system and crashes when it is set.