1.安卓开发需要学习什么
2.关于STM32H743配置SDIO接口驱动并移植FATFS
安卓开发需要学习什么
学习分三个阶段:1,源码Android基础阶段:平台架构特性(JAVA/C) Market/应用程序组件 环境搭建与部署/打包与发布 AVD/DDMS/AAPT 调试与测试 相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深层实现
2,源码Android进阶初级:组件Widget/ 菜单Menu/ 布局Layout 详解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL数据库原理,源码。
SQLite /SharedPreferences/File详解 多媒体Audio/Video/Camera 详解
3,源码Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理。源码
实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/传感器/手势 应用实现
扩展资料:
知识体系
1、源码docker 源码Unix/Linux平台技术:基本命令,源码Linux下的源码开发环境
2、企业级数据库技术:SQL语言、源码SQL语句调优、源码Oracle数据库技术
3、源码Java 语言核心技术:Java语言基础、源码地方网站源码Java面向对象编程、源码JDK核心API、源码Java集合框架、源码Java网络编 程、JavaI/O编程、Java多线程编程、Java异常机制、Java安全、JDBC、XML
4、软件工程和设计模式:软件工程概述、网站源码文件配置管理及SVN、UML、基本设计模式
5、Android应用开发基础:Android开发平台、Eclipse+ADT开发环境、AVD及传感模拟器调试、Android核心组件、Android常用组件、Android高级组件、文件及网络访问、SQLite数据库编程、宽屏源码后台服务编程
6、互联网核心技术: HTML、CSS、JavaScript、JQuery、Ajax应用
7、Android高级应用开发:音频\视频\摄像头、互联网应用、GPS和位置服务、Google Map、2D\3D绘制、dz源码论坛传感器开发、游戏开发、电话及SMS服务、网络\Bluetooth\Wi-Fi等。
8、Android系统级开发:移植、驱动、NDK(C方向)。
9、JavaEE核心技术:Servlet核心技术、JSP核心技术、Struts、Spring、Hibernate框架。
参考资料:
关于STMH配置SDIO接口驱动并移植FATFS
在配置 STMH 的 SDIO 接口驱动并移植 FATFS 时,首先应关注 SDMMC1 的 CUBEMX 配置。根据原理图,对 SDMMC1 的时钟树进行配置,确保时钟频率不超过 MHz。在 SDMMC 配置选项中,时钟分频系数 div 应选择为 5,以确保读写时钟不超过 MHz,此时频率为 /5=MHz,符合要求。配置过程中无需添加 DMA,可暂时采用轮询读写方式。
接下来,将 FATFS 最新版本的源代码添加至项目中。需要编写 SD 卡读写函数,对接 diskio.c 文件中的读写操作。该文件内主要实现对 SD 卡插槽状态的 GPIO 状态读取。底层读写函数包括轮询方式和 DMA 方式,具体使用哪种方式取决于在 diskio.c 文件的操作函数中选择。
在 CUBEMX 自动生成的初始化代码中,调用 HAL_SD_Init() 函数初始化,这可能导致错误:在初始化时未插入卡,造成卡死。建议注释掉此段代码,并在 sdcard_driver.c 文件中进行初始化操作。初始化前先检测 SD 卡是否存在,避免在无卡时进行初始化。
对于 diskio.c 文件,主要实现的函数包括 disk_status()、disk_initialize()、disk_read()、disk_write() 和 disk_ioctl()。此阶段需进行 FATFS 的裁剪,通过配置 ffconf.h 文件完成,确保除常规配置外,启用 exFAT 支持以兼容大于 G 的大容量卡。
编写测试程序,挂载 SD 卡,尝试打开文件。若文件不存在,创建并写入字符串,关闭文件后再次打开并读取内容,结果应显示于终端。最终,通过上述步骤完成 STMH 的 SDIO 接口驱动配置与 FATFS 移植。
如需获取同款开发板,可在闲鱼搜索用户名阿达和阿文,并获取技术咨询。