This design is a low-cost embedded Linux development board. The main control adopts SSD202D, Cortex-A7 architecture, DDR3 - 128MB, Nand Flash - 128MB, dual-core up to 1.2GHz (the actual default is only 1GHz, the specific configuration is in the device tree (dtsi) file ), the official introduction can be used to develop 86 boxes, etc.
There are not many available GPIOs on this development board, and most of them are occupied by peripherals, such as LCD pwm dimming, SD enable, power amplifier enable, touch interrupt, etc., and most of them are reused I2C (two channel), SPI (one channel), UART (up to three channels, including UART0 with Debug interface and FUART with flow control all the way, the default configuration is without flow control) and other functional interfaces. The default multiplexing function is managed by the device tree file. Therefore, the above reuse function is used by default, and the configuration can also be modified by yourself.
* Note : This core board does not support loading uboot and kernel from other devices, but only supports loading uboot and kernel from the built-in Nand FLASH.
One Ethernet (RJ45), one WIFI (the core board comes with it and occupies one USB), one USB interface, DMIC, MIC, SDIO, buzzer, and one LED (can be configured as a heartbeat light when SPI is not used, Occupies the SPI_DI port, the kernel in the attachment cancels the heartbeat light driver), one audio output (connected to the power amplifier and 3.5mm headphone jack), 50Pin FPC connector is used to connect to the TFT screen (screen resolution is 1024 * 600), 6Pin FPC connector is used For connecting the capacitive touch screen, most of the functional pins are led out with pin headers and support wide voltage power supply (12V). A four-layer board with a PCB size of 10×10 can be used directly (the internal electrical layer needs to be divided, but for my purposes It is convenient and can be formed in one go, basically does not affect the use, and can also be divided by yourself).
( *Note : The compilation environment is the Ubuntu 21 release, the cross-compilation tool version is 11.4, and the official Ubuntu image and cross-compilation tool are not used.)
Used for display driver identification of uboot and kernel, and can be used for multi-screen switching. Attached is the screen parameter file of the model JLL070QGI60 resolution 1024x600 LCD screen for reference.
Due to the addition of new screen parameters, part of the source code was modified. The compilation was completed and uploaded to the attachment (Image.zip). The source code can be found in the network disk information.
Same as above.
Use a newer version, use buildroot to build rootfs, the buildroot version is 2021.08;
Buildroot only does simple configuration and supports basic functions such as ssh and dhcp. busybox only does the simplest configuration and supports Chinese encoding.
The officially provided compilation script is directly packaged as an upgrade image by default. The default Debug baud rate is 115200. When uboot can run normally (if uboot is damaged, please use the official burning tool and follow the prompts to burn Uboot). Network (tftp service or nfs service update), SD card and USB update (to enable USB update, you need to configure the enabling related commands in uboot, which is enabled by default). For the upgrade image, see the attachment (lmage.zip).
Copy the downloaded or compiled image (use the officially provided SDK script tool, which can be found in the official documentation, that is, the project directory) to the tftp directory of Ubuntu (on the Windows platform, you can use the tftp tool to point to the folder where the image is located), and configure The serverip of uboot is Ubuntu IP. Make sure it can be pinged. Then enter the command estar in Uboot and press Enter to automatically update uboot, kernel and rootfs through the network. For other update methods (SD, USB), please refer to official information. The image login name provided in the attachment is root and the password is 173599.
My modified source code was compiled and passed: Uboot and Kernel source code , extraction code: nf8p, including compilation script. For the project directory in the uboot compilation script, please go to the official information to download ↓. (If you use an unofficial Ubuntu image, you need to install the required 32-bit system libraries, git tools, etc. before compilation. For details, please check the instruction manual in the official documentation or search and solve it yourself, otherwise the compilation will report an error)
Data download: official data , extraction code: n8pu.
4. Functional testing and known issues of the development board (my own board, the first version of PCB)
· Using kernel PWM1 to drive the buzzer is invalid: the PWM output is normal, but the buzzer is silent. Maybe the transistor is damaged. Now I only have a soldering iron at hand, and I can’t measure without an instrument;
-> Well, the emitter and collector of the transistor were both soldered, and the transistor was directly poked off by the multimeter probe (;´д`). It seems that the heat dissipation of the four-layer board is much faster than expected, so we should try to use reflow soldering. <December 2>
· The screen does not light up: a white screen, which may be related to insufficient power supply (the USB port that is always used for power supply, the USB port of the computer is still a bit loose, and often loses power╮(╯-╰)╭) or software configuration errors, and the software displayed on the screen The architecture is a bit complicated; (I have to find a way to get an adjustable power supply)
-> On hold for now. <December 2>
· The I2C test is normal: the touch screen driver can be loaded normally (the touch IC is GT911), cat related device nodes, and information can be reported normally by clicking on the screen;
· The RTC test is normal: After installing the small battery, use the command to configure the RTC clock and synchronize the system clock. After synchronization, use the date command to return the time normally. After powering off and on, enter the system and use the date command again, and the displayed time is normal;
· The WIFI test is basically normal: the driver can be mounted normally, and the generated wlan0 network device can be viewed using the ifconfig command. The network connection has not been tested yet.
All reference designs on this site are sourced from major semiconductor manufacturers or collected online for learning and research. The copyright belongs to the semiconductor manufacturer or the original author. If you believe that the reference design of this site infringes upon your relevant rights and interests, please send us a rights notice. As a neutral platform service provider, we will take measures to delete the relevant content in accordance with relevant laws after receiving the relevant notice from the rights holder. Please send relevant notifications to email: bbs_service@eeworld.com.cn.
It is your responsibility to test the circuit yourself and determine its suitability for you. EEWorld will not be liable for direct, indirect, special, incidental, consequential or punitive damages arising from any cause or anything connected to any reference design used.
Supported by EEWorld Datasheet