FMUSER Wirless Transmit Video And Audio More Easier !

[email protected] WhatsApp +8618078869184
Language

    How to learn embedded Linux underlying system for beginners

     

    For application development: C language, data structure, JAVA, etc. need to be learned well. There is nothing special to pay attention to in embedded application development and application development on PC. Maybe you say that you need to optimize the embedded system, yes, you need to optimize, but the unoptimized program is no different from the program development on the PC. In addition, when you have the ability to optimize, you are no longer used to ask this question. For a specific example, such as the development interface, we use VC on the PC; in embedded Linux, we may use QT and Android. At this time, you should learn QT and Android programming. But the foundation is still C or JAVA, and on this basis, get familiar with their interfaces. If you have learned VC, it takes time to understand those classes and controls.

    If you want to learn the underlying system, this is my specialty, but I can say a little bit.

    Before answering this question, let me answer: Many people ask me, is it to learn to drive or to learn to apply? I can only say that it is based on interest, and drivers and applications are not completely separate.

    1. The drivers we are talking about are not limited to hardware operations, but also concepts such as operating system principles and process sleep and wake scheduling. If you want to write a good application, and you want to better solve the problems encountered by the application, you should understand this knowledge

    2. Low barriers to application, especially the current ANDROID, pure JAVA. I personally think that the application development path is proficient in business. For example, in the communications industry, IPTV industry, and mobile phone industry, you understand the needs of the industry. Therefore, people who are leaders are mostly applications.

    3. Be driven. In fact, I don't want to call it "being a driver", but I want to call it "being a low-level system". Once done, this will kill all industries. I have worked for several years and have made mobile phones, IPTV, and conference TV, but these products make no difference to me because I only do the bottom layer. Their business has nothing to do with me. When there is a problem with the application and they cannot solve it, I will give them an idea from the kernel perspective and provide them with tools. I personally think that I am a technical expert in the development direction of the bottom layer.

    4. In fact, there is no boundary between doing the bottom layer or doing the application. If you have the bottom layer experience, you will feel very at ease when you do the application. With business experience, you can get to know the bottom layer, and you will soon be able to form a team.

    Back to the question of how to learn. What is included in the embedded Linux underlying system? Don't worry, you will know it by giving an example.

    1. When the computer is turned on, who displays those interfaces? It is BIOS, what does it do? Some self-checks, then read windows from the hard disk and start it. Similarly, this BIOS corresponds to the bootloader in embedded Linux. This bootloader needs to read the Linux kernel on Flash and start it.

    2. What is the purpose of starting windows? Of course it's online chatting or something. Where are these Internet and chat tools? On the C drive and D drive. Therefore, windows must first identify the C drive and D drive. We call it the root file system under Linux.

    3. Windows can recognize the C drive and D drive, so it must be able to read and write the hard drive. The things involved are called drivers. Of course, it is not only a hard disk, but also a network card, USB, and so on. Embedded Linux can read and execute applications from Flash, and it must also have Flash drivers. Of course, it is not just Flash.

    Let's talk about it first, embedded LINUX contains four major parts: bootloader, kernel, driver, and root file system.

    One, bootloader

    It is a slightly more complicated bare board program. But it is not easy to understand and write this bare-board program. The useful tools under Windows weaken our programming ability.

    Many people use ADS and KEIL as soon as they play embedded. Can you answer these questions?

    1. Once power is on, where does the CPU fetch instructions for execution?

    Answer: Generally, the instruction is from Flash.

    2. But Flash can only be read and not directly written. If I use global variables, where are these global variables?

    Answer: Global variables should be in memory

    3. So who puts global variables in memory?

    Answer: Can you answer a friend who has used ADS and KEIL for a long time? This requires "relocation". In ADS or KEIL, the relocation code is written for you by the company that makes these tools. Have you ever read it?

    4. The memory is so big, how do I know which address to read the "content originally stored in Flash" to the memory?

    Answer: This address is determined by "link script", there are scatter files in ADS, and similar files in KEIL. But, have you studied it?

    5. You said that relocation is to copy a program from Flash to memory, so this program can read Flash? Answer: Yes, you need to be able to operate Flash. Of course not only these, but also setting the clock to make the system run faster and so on. Let’s ask and answer here first, the bootloader, a bare-board program, actually has three main points:

    1. Operation of the hardware

    2. Understanding of ARM system processors

    3. The basic concepts of the program: relocation, stack, code segment, data segment, BSS segment and so on.

    For the operation of the hardware, you need to see the schematic diagram and the chip manual. This requires a certain amount of hardware knowledge. It does not require you to be able to design hardware, but at least to understand it; it does not require to be able to understand analog circuits, but to understand digital circuits. I learned this ability in school. The two books (the title of the book I forgot) are enough. But I doubt you have the patience to finish reading these two books. I don't know if there is a faster book now. If you want to make it fast, let go of this first, and if you don’t understand, just ask Google and post.

    In addition, the chip manual must be read, don't look for Chinese, just look at English. It was very painful at first, but later on, once the grammar and vocabulary are familiar, it is easy to read any chip manual.

    For the understanding of ARM system processors, please see Du Chunlei's. It talks about assembly instructions, exception modes, MMU, etc. Just these 3 pieces of content need you to understand.

    The basic concept of the program, of course, the king is to look at the principles of compilation. Unfortunately, this type of book is definitely of the heavenly book level. I advise you not to watch it unless you are a super genius. Just watch the <Complete Handbook of Embedded Linux Application Development> and the first video I wrote, don't worry, don't spend money. Following the video and doing hardware-related experiments, these concepts will become clear. I haven't found the second set of books or videos that talk about these concepts, allowing me to brag about it blindly. For the bootloader, I first watched it when I was studying, and then I wrote the program myself and did all the experiments on various hardware, such as GPIO, clock, SDRAM, UART, and NAND. If you make them clear, it is easy to understand u-boot by grouping together. To sum up, to understand the hardware schematic diagram and the chip manual, you need to find the information yourself. For the rest, just follow the chapter list of the <Embedded Linux Application Development Complete Manual> and the first phase of the video to learn.

    Two, the kernel

    Those who want to get started should skip the kernel learning first and learn how to write drivers directly.

    To become a master, the kernel must have a deep understanding. Note that I am talking about understanding, I have no extravagant hope to write a kernel.

    To understand the scheduling mechanism, memory management mechanism, file management mechanism, etc. inside.

    Recommend two books:

    1. Read through, please read the thin book (Floating society emphasizes speed)

    2. Choose to read, want to know which section to read which section

    Three, drive

    The driver consists of two parts: the operation of the hardware itself and the framework of the driver.

    It's the hardware again. It's still necessary to understand the schematic diagram and the chip manual. Practice more. Speaking of the driver framework, there are some books to introduce it. LDD3, the book written by a foreigner, introduces many concepts and is worth reading. However, its role is limited to introducing concepts. I basically used it to familiarize myself with the concepts before getting started, and then throw it away after getting started.

    The more comprehensive introduction to the driver should be Song Baohua's. To be honest, I only read the catalog. Many people said yes, I recommend it here.

    If you want to understand a certain area in depth, it is definitely a super 5-star recommendation. You don't expect to read it, more than 1,800 pages, two volumes up and down. When I am not sure about a certain area, I will look through it. Any part of this book can cover two or three hundred pages, which is very detailed. And to take you to analyze the kernel source code with a certain goal. It takes linux 2.4 as an example, but the principle is the same, and it is also applicable to other versions of linux. Any other introductions? Of course there is, the second issue of Wei Dongshan Linux Video. The "Complete Handbook of Embedded Linux Application Development" does not talk much about the driver, and it is not in-depth enough.

    Try to write a driver for all the hardware involved in your development board. If you have a problem, you should "think painfully" first. In the process of thinking, you will connect a lot of irrelevant knowledge and finally get it through.

    Fourth, the root file system

    Have you ever thought about these two questions:

    1. For the products made by Linux, some are used for monitoring, some are used as mobile phones, and some are used as tablets. So after the kernel is started, after mounting the root file system, which application should be started?

    Answer: The kernel does not know or does not care which user program should be started. It only starts the init application, which corresponds to /sbin/init.

    Obviously, this application must read the configuration file and start the user program (monitoring, manual interface, tablet interface, etc.) according to the configuration file. This question reminds us that the content of the file system has some conventions, such as /sbin /init, a configuration file is required.

    2. Have you ever thought about who implemented the printf used in the hello and world programs you wrote?

    Answer: This function is not implemented by you, but by a library function. When it runs, it has to find the library.

    This question reminds us that there are still libraries in the file system. Here is a simple question and answer. If you want to know more, you can look at the init.c of busybox to know what the init process does. Of course, you can also see the chapter on building the root file system in the <Complete Handbook of Embedded Linux Application Development>.

    My learning experience

    1. When I was in school, I majored in physics and electronics. In fact, I did not teach how to design circuits in the course, but only taught some knowledge about electronic circuits. The design of PCB was taught by myself in the laboratory. I only designed a 2-layer board, and now I almost forget it. But it retains the ability to read the schematic diagram and the chip manual.

    2. I took a degree in software, and I am very interested in software design, but I only learned C language and database. I did a lot of competition questions with interest. I can't participate in the competition, but I have a solid C language practice.

    3. In the laboratory, in the first company, I designed some simple PCI cards and wrote the windows driver

    4. In the second company, using 51 single-chip microcomputer as a car phone, began to embark on the road of pure software.

    5. I started to feel the shortcomings of the single-chip microcomputer. I resigned for half a year to learn Linux behind closed doors, starting with how to operate the red hat. The step is to look at it first, then write the bare board program to operate the hardware, and then analyze the u-boot. At the same time, I have some understanding of the LINUX framework.

    When writing bare boards, it is recommended that you strengthen your understanding of interrupts. The kernel uses interrupts to complete various functions.

    6. After analyzing u-boot, start simple driver programming. At this time, the ability is still very weak.

    7. Started to work at ZTE, worked for 2 years, wrote all kinds of drivers, solved all kinds of problems (driving problems, helping to locate application problems), and the ability was tempered.

     

     

     

     

     

     

    How far(long) the transmitter cover?

    The transmission range depends on many factors. The true distance is based on the antenna installing height , antenna gain, using environment like building and other obstructions , sensitivity of the receiver, antenna of the receiver . Installing antenna more high and using in the countryside , the distance will much more far.

    EXAMPLE 5W FM Transmitter use in the city and hometown:

    I have a USA customer use 5W fm transmitter with GP antenna in his hometown ,and he test it with a car, it cover 10km(6.21mile).

    I test the 5W fm transmitter with GP antenna in my hometown ,it cover about 2km(1.24mile).

    I test the 5W fm transmitter with GP antenna in Guangzhou city ,it cover about only 300meter(984ft).

    Below are the approximate range of different power FM Transmitters. ( The range is diameter )

    0.1W ~ 5W FM Transmitter :100M ~1KM

    5W ~15W FM Ttransmitter : 1KM ~ 3KM

    15W ~ 80W FM Transmitter : 3KM ~10KM

    80W ~500W FM Transmitter : 10KM ~30KM

    500W ~1000W FM Transmitter : 30KM ~ 50KM

    1KW ~ 2KW FM Transmitter : 50KM ~100KM

    2KW ~5KW FM Transmitter : 100KM ~150KM

    5KW ~10KW FM Transmitter : 150KM ~200KM

    How to contact us for the transmitter?

    Call me +8618078869184 OR
    Email me [email protected]
    1.How far you want to cover in diameter ?
    2.How tall of you tower ?
    3.Where are you from ?
    And we will give you more professional advice.

    About Us

    FMUSER.ORG is a system integration company focusing on RF wireless transmission / studio video audio equipment / streaming and data processing .We are providing everything from advice and consultancy through rack integration to installation, commissioning and training.
     
    We offer FM Transmitter, Analog TV Transmitter, Digital TV transmitter, VHF UHF Transmitter, Antennas, Coaxial Cable Connectors, STL, On Air Processing, Broadcast Products for the Studio, RF Signal Monitoring, RDS Encoders, Audio Processors and Remote Site Control Units, IPTV Products, Video / Audio Encoder / Decoder, designed to meet the needs of both large international broadcast networks and small private stations alike.
     
    Our solution has FM Radio Station / Analog TV Station / Digital TV Station / Audio Video Studio Equipment / Studio Transmitter Link / Transmitter Telemetry System / Hotel TV System / IPTV Live Broadcasting / Streaming Live Broadcast / Video Conference / CATV Broadcasting system.
     
    We are using advanced technology products for all the systems, because we know the high reliability and high performance are so important for the system and solution . At the same time we also have to make sure our products system with a very reasonable price.
     
    We have customers of public and commercial broadcasters, telecom operators and regulation authorities , and we also offer solution and products to many hundreds of smaller, local and community broadcasters .
     
    FMUSER.ORG has been exporting more than 15 years and have clients all over the world. With 13 years experience in this field ,we have a professional team to solve customer's all kinds of problems. We dedicated in supplying the extremely reasonable pricing of professional products & services.
    Contact email : [email protected]

    Our Factory

    We have modernization of the factory . You are welcome to visit our factory when you come to China.

    At present , there are already 1095 customers around the world visited our Guangzhou Tianhe office . If you come to China , you are welcome to visit us .

    At Fair

    This is our participation in 2012 Global Sources Hong Kong Electronics Fair . Customers from all over the world finally have a chance to get together.

    Where is Fmuser ?

    You can search this numbers " 23.127460034623816,113.33224654197693 " in google map , then you can find our fmuser office .

    FMUSER Guangzhou office is in Tianhe District which is the center of the Canton . Very near to the Canton Fair , guangzhou railway station, xiaobei road and dashatou , only need 10 minutes if take TAXI . Welcome friends around the world to visit and negotiate .

    Contact: Sky Blue
    Cellphone: +8618078869184
    WhatsApp: +8618078869184
    Wechat: +8618078869184
    E-mail: [email protected]
    QQ: 727926717
    Skype: sky198710021
    Address: No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China Zip:510620

    English: We accept all payments , such as PayPal, Credit Card, Western Union, Alipay, Money Bookers, T/T, LC, DP, DA, OA, Payoneer, If you have any question , please contact me [email protected] or WhatsApp +8618078869184

    • PayPal.  www.paypal.com

      We recommend you use Paypal to buy our items ,The Paypal is a secure way to buy on internet .

      Every of our item list page bottom on top have a paypal logo to pay.

      Credit Card.If you do not have paypal,but you have credit card,you also can click the Yellow PayPal button to pay with your credit card.

      ---------------------------------------------------------------------

      But if you have not a credit card and not have a paypal account or difficult to got a paypal accout ,You can use the following:

      Western Union.  www.westernunion.com

       

      Pay by Western Union to me :

      First name/Given name: Yingfeng
      Last name/Surname/ Family name: Zhang
      Full name: Yingfeng Zhang
      Country: China
      City: Guangzhou 

      ---------------------------------------------------------------------

      T/T .  Pay by T/T (wire transfer/ Telegraphic Transfer/ Bank Transfer)
       
      First BANK INFORMATION (COMPANY ACCOUNT):
      SWIFT BIC: BKCHHKHHXXX
      Bank name: BANK OF CHINA (HONG KONG) LIMITED, HONG KONG
      Bank Address: BANK OF CHINA TOWER, 1 GARDEN ROAD, CENTRAL, HONG KONG
      BANK CODE: 012
      Account Name : FMUSER INTERNATIONAL GROUP LIMITED
      Account NO. : 012-676-2-007855-0
      ---------------------------------------------------------------------
      Second BANK INFORMATION (COMPANY ACCOUNT):
      Beneficiary: Fmuser International Group Inc
      Account Number: 44050158090900000337
      Beneficiary's Bank: China Construction Bank Guangdong Branch
      SWIFT Code: PCBCCNBJGDX
      Address: NO.553 Tianhe Road, Guangzhou, Guangdong,Tianhe District, China
      **Note: When you transfer money to our bank account, please DO NOT write anything in the remark area, otherwise we won't be able to receive the payment due to government policy on international trade business.

    * It will be sent in 1-2 working days when payment clear.

    * We will send it to your paypal address. If you want to change address, please send your correct address and phone number to my email [email protected]

    * If the packages is below 2kg,we will be shipped via post airmail, it will take about 15-25days to your hand.

    If the package is more than 2kg,we will ship via EMS , DHL , UPS, Fedex fast express delivery,it will take about 7~15days to your hand.

    If the package more than 100kg , we will send via DHL or air freight. It will take about 3~7days to your hand.

    All the packages are form China guangzhou.

    * Package will be sent as a "gift" and declear as less as possible,buyer don't need to pay for "TAX".

    * After ship, we will send you an E-mail and give you the tracking number.

    For Warranty .
    Contact US--->>Return the item to us--->>Receive and send another replace .

    Name: Liu xiaoxia
    Address: 305Fang HuiLanGe HuangPuDaDaoXi 273Hao TianHeQu Guangzhou China.
    ZIP:510620
    Phone: +8618078869184

    Please return to this address and write your paypal address,name,problem on note:

    List all Question

    Nickname

    Email

    Questions

      Enter email  to get a surprise

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org ->Afrikaans
      sq.fmuser.org ->Albanian
      ar.fmuser.org ->Arabic
      hy.fmuser.org ->Armenian
      az.fmuser.org ->Azerbaijani
      eu.fmuser.org ->Basque
      be.fmuser.org ->Belarusian
      bg.fmuser.org ->Bulgarian
      ca.fmuser.org ->Catalan
      zh-CN.fmuser.org ->Chinese (Simplified)
      zh-TW.fmuser.org ->Chinese (Traditional)
      hr.fmuser.org ->Croatian
      cs.fmuser.org ->Czech
      da.fmuser.org ->Danish
      nl.fmuser.org ->Dutch
      et.fmuser.org ->Estonian
      tl.fmuser.org ->Filipino
      fi.fmuser.org ->Finnish
      fr.fmuser.org ->French
      gl.fmuser.org ->Galician
      ka.fmuser.org ->Georgian
      de.fmuser.org ->German
      el.fmuser.org ->Greek
      ht.fmuser.org ->Haitian Creole
      iw.fmuser.org ->Hebrew
      hi.fmuser.org ->Hindi
      hu.fmuser.org ->Hungarian
      is.fmuser.org ->Icelandic
      id.fmuser.org ->Indonesian
      ga.fmuser.org ->Irish
      it.fmuser.org ->Italian
      ja.fmuser.org ->Japanese
      ko.fmuser.org ->Korean
      lv.fmuser.org ->Latvian
      lt.fmuser.org ->Lithuanian
      mk.fmuser.org ->Macedonian
      ms.fmuser.org ->Malay
      mt.fmuser.org ->Maltese
      no.fmuser.org ->Norwegian
      fa.fmuser.org ->Persian
      pl.fmuser.org ->Polish
      pt.fmuser.org ->Portuguese
      ro.fmuser.org ->Romanian
      ru.fmuser.org ->Russian
      sr.fmuser.org ->Serbian
      sk.fmuser.org ->Slovak
      sl.fmuser.org ->Slovenian
      es.fmuser.org ->Spanish
      sw.fmuser.org ->Swahili
      sv.fmuser.org ->Swedish
      th.fmuser.org ->Thai
      tr.fmuser.org ->Turkish
      uk.fmuser.org ->Ukrainian
      ur.fmuser.org ->Urdu
      vi.fmuser.org ->Vietnamese
      cy.fmuser.org ->Welsh
      yi.fmuser.org ->Yiddish

       
  •  

    FMUSER Wirless Transmit Video And Audio More Easier !

  • Contact

    Address:
    No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China 510620

    E-mail:
    [email protected]

    Tel / WhatApps:
    +8618078869184

  • Categories

  • Newsletter

    FIRST OR FULL NAME

    E-mail

  • paypal solution  Western UnionBank OF China
    E-mail:[email protected]   WhatsApp:+8618078869184   Skype:sky198710021 Chat with me
    Copyright 2006-2020 Powered By www.fmuser.org

    Contact Us