技术文:自制嵌入式Linux开发板,低成本
自制了一个低成本的嵌入式Linux开发板。成本100元左右。这块开发板可以用来制作手机、机顶盒、智能机器人、无线网络摄像机等项目。

开发板配置
一路以太网(RJ45)、一路WIFI(核心板自带,且占用一路USB)、一路USB接口、DMIC、MIC、SDIO、蜂鸣器、一颗LED(不使用SPI时,可配置为心跳灯,占用SPI_DI端口,附件中的kernel取消了心跳灯驱动,后续可将LED接至其他GPIO,避免与复用功能引脚占用)、一路音频输出(接功放和3.5mm耳机接口)、50Pin FPC连接器用于连接TFT屏幕(屏幕分辨率为1024 * 600),6Pin FPC连接器用于连接电容触控屏。
大部分功能引脚均用排针引出,支持宽电压供电(12V),PCB大小为10×10的四层板可直接白嫖。
设计图
主控采用SSD202D,Cortex-A7架构,DDR3 - 128MB、Nand Flash - 128MB,双核最高1.2GHz/

用嘉立创EDA设计的原理图_Sigmastar外设板

用嘉立创EDA设计的原理图_Power

用嘉立创EDA设计的原理图_Other
该开发板的可用的GPIO并不算多,其中较多被外设占用.
如LCD的pwm调光、SD使能、功放使能、触控中断等,且大部分为复用IO,如I2C(两路)、SPI(一路)、UART(最多四路,含Debug接口的UART0和一路带流控的FUART,默认配置为不带流控),复用功能由设备树文件管理,因此默认使用上述复用功能,也可自行修改配置。

用嘉立创EDA设计的原理图_LCD

用嘉立创EDA设计的原理图_pin

用嘉立创EDA设计的PCB图

用嘉立创EDA设计的PCB图
源码
#ifndef PNL_TABLE_JLL070QGI60
#define PNL_TABLE_JLL070QGI60
MhalPnlParamConfig_t stPanel_JLL070QGI60 =
{
"JLL070QGI60_1024X600", // const char *m_pPanelName; ///< PanelName
#if !defined (__aarch64__)
0,
#endif
0, //MS_U8 m_bPanelDither :1; ///< PANEL_DITHER, keep the setting
E_MHAL_PNL_LINK_TTL, //MHAL_DISP_ApiPnlLinkType_e m_ePanelLinkType :4; ///< PANEL_LINK
///////////////////////////////////////////////
// 开发板相关设置
///////////////////////////////////////////////
1, //MS_U8 m_bPanelDualPort :1; ///< VOP_21[8], MOD_4A[1], PANEL_DUAL_PORT, refer to m_bPanelDoubleClk
0, //MS_U8 m_bPanelSwapPort :1; ///< MOD_4A[0], PANEL_SWAP_PORT, refer to "LVDS output app note" A/B channel swap
0, //MS_U8 m_bPanelSwapOdd_ML :1; ///< PANEL_SWAP_ODD_ML
0, //MS_U8 m_bPanelSwapEven_ML :1; ///< PANEL_SWAP_EVEN_ML
0, //MS_U8 m_bPanelSwapOdd_RB :1; ///< PANEL_SWAP_ODD_RB
0, //MS_U8 m_bPanelSwapEven_RB :1; ///< PANEL_SWAP_EVEN_RB
0, //MS_U8 m_bPanelSwapLVDS_POL :1; ///< MOD_40[5], PANEL_SWAP_LVDS_POL, for differential P/N swap
0, //MS_U8 m_bPanelSwapLVDS_CH :1; ///< MOD_40[6], PANEL_SWAP_LVDS_CH, for pair swap
0, //MS_U8 m_bPanelPDP10BIT :1; ///< MOD_40[3], PANEL_PDP_10BIT ,for pair swap
1, //MS_U8 m_bPanelLVDS_TI_MODE :1; ///< MOD_40[2], PANEL_LVDS_TI_MODE, refer to "LVDS output app note"
///////////////////////////////////////////////
// For TTL Only
///////////////////////////////////////////////
0, //MS_U8 m_ucPanelDCLKDelay; ///< PANEL_DCLK_DELAY
0, //MS_U8 m_bPanelInvDCLK :1; ///< MOD_4A[4], PANEL_INV_DCLK
0, //MS_U8 m_bPanelInvDE :1; ///< MOD_4A[2], PANEL_INV_DE
0, //MS_U8 m_bPanelInvHSync :1; ///< MOD_4A[12], PANEL_INV_HSYNC
0, //MS_U8 m_bPanelInvVSync :1; ///< MOD_4A[3], PANEL_INV_VSYNC
相关推荐
-
「PHP」MVC框架是什么?为什么要用它2025-02-25 00:25:41
-
如何用PHP写一个比较安全的API系统(实现)2025-02-25 00:19:49
-
php 解析url获取相关信息2025-02-25 00:15:37
-
mysql命令总结和PyMysql2025-02-25 00:11:35
-
MySQL特性:深入理解ICP2025-02-25 00:11:07