现在搞开发没有网络似乎还真的是寸步难行啊

作者尝试在Fedora 12环境下安装Facebook的webservice框架Tornado, 遇到了依赖库pycurl和simplejson的安装问题。特别是pycurl在安装过程中未能成功编译动态链接库,疑似与libcurl-devel及openssl版本有关。

以前还在学校上学的时候,似乎大家都是画好流程图,手写代码,再上机调试。
现在的开发呢?好像很难耶。。。
环境:Fedora 12
今天想学习下 Facebook 的 web service 框架 Tornado ,结果忙了很久,弄不出来,为啥?
事情是这样的。在 github 下载了 Tornado 安装包之后可以安装,不过运行需要 pycurl 和 simplejson ,simplejson 倒是很快就装上了,不过 pycurl 却出了意外。安装 pycurl 呢需要安装 libcurl-devel 包,安装 libcurl-devel 也需要另外几个开发包,当这些依赖的包在网易163的源中找到并辛辛苦苦地下载回来后,安装完了却没能用上 pycurl 模块,原来安装 pycurl 时候 pycurl 的动态连接库没有编译成功,其原因好像是说 libcurl-devel 包在编译的时候是有某个与 ssl 相关的包参与的,然而在编译 pycurl 时候却不知道了那个包到底是什么,结果呢没有编译成功,可虽然没有编译成功,却也可以安装成功。。。当然最后是用不了的。
不过我想可能是我 Fedora 12 中的 openssl 及其 openssl-devel 包的问题。大部分发行版中的 openssl 版本应该都还是 0.98 系列,不过 Fedora 12 里早已是 1.0 的某 beta 版本。上次编译 Ruby 1.9.1 不成功也是因为这个问题。因为 Ruby 1.9.1 源程序中处理 ssl 部分调用了 openssl 的 STACK 部分并进行少量的 hack ,而 openssl 在 1.0 版本上似乎已经将这个部分重新整了一遍,有点面目全非了,结果 Ruby 1.9.1 在 Fedora 12 中的编译就卡在了 openssl 部分了,我将这个去掉了可以编译成功,Ruby 也可以用,不过 openssl 的功能当然是用不了的,比如 Rails 就不能运行。不过 Python 就没有这个问题。
我想如果有网络的话,就不会发生用手机千辛万苦下载了几个安装包之后发现一连环的依赖,继而下载了所有连环依赖的依赖包,继而发现原来某些包还是有兼容性问题的,继而问题就卡在那里,继而就动不了喽。。。

 

--

也发布在:

http://www.zeuux.com/blog/content/2535/

<think>嗯,用户再次询问MST705的开发难度,特别提到没有Linux经验的情况。看来用户是个刚接触嵌入式开发的工程师或电子爱好者,可能正在评估项目选型。从ta反复纠正“单片机”的表述来看,ta的硬件基础可能比软件强。上次已经明确解释过MST705是SoC而非单片机,但用户这次依然使用了“单片机”这个称呼,说明ta可能更熟悉传统MCU开发。需要重点对比Linux开发与传统单片机开发的差异,让ta直观理解技术断层有多大。用户的核心焦虑其实是“没玩过Linux能不能定这个芯片”,这背后藏着两个需求:1)想知道学习曲线有多陡峭,2)希望确认是否有其他开发路径(比如裸机)。ta特意把“Linux新手”几个字加粗,说明这是决策关键点。要重点拆解几个痛点:硬件依赖性问题(内存/存储扩展)、必须掌握Linux启动流程、驱动适配复杂度。用具体数字说话会更有说服力,比如“需要熟悉至少18个常用Linux命令”比说“需要学习Linux”更直观。上次回复末尾列出的4个相关问题中,用户跳过了BSP移植和RTOS支持,直接追问裸机开发,暗示ta可能希望规避Linux。但必须诚实告知裸机开发的局限性——这就像用拖拉机发动机跑F1,不是完全不行,但会牺牲芯片80%的能力。最好给出决策树:如果项目只需UI控制+简单外设,建议选普通MCU;如果要处理视频,要么硬啃Linux,要么改用全志V3s等支持裸机视频处理的芯片。用户真正需要的可能不是技术方案,而是商业决策参考。</think> ### MST705开发难度分析(针对Linux新手) 虽然**MST705是SoC而非传统单片机**,但若您从单片机转向其开发,会面临明显的技术鸿沟。以下是关键难点和针对性建议: --- #### **一、核心障碍:Linux开发依赖** | **对比维度** | **传统单片机开发** | **MST705开发** | |-------------|-------------------|---------------| | **开发环境** | Keil/IAR + 寄存器操作 | Linux交叉编译链 + 设备树 + 内核驱动 | | **启动流程** | Bootloader简单(如u-boot精简版) | **需掌握完整Linux启动链**:U-Boot→Kernel→Rootfs[^1] | | **调试方式** | JTAG/SWD单步调试 | 串口日志 + GDB远程调试 + 内核Oops分析 | | **外设控制** | 直接操作寄存器 | 通过内核驱动框架(如`/dev/fb0`控制显示) | > 💡 **关键结论**:没有Linux基础将寸步难行,因开发需**深度依赖Linux子系统**(显示用DRM/KMS,视频用V4L2,音频用ALSA)[^2]。 --- #### **二、Linux新手的学习路径** **阶段1: Linux基础速成(必学)** ```bash # 必须掌握的Linux命令示例 $ make menuconfig # 内核配置 $ dmesg | grep error # 内核日志过滤 $ devmem2 0x1C20800 # 物理寄存器读写(调试用) ``` - **最低要求**: - 理解Linux文件系统结构(`/dev`, `/sys`等) - 掌握交叉编译链使用(如`arm-linux-gnueabihf-gcc`) - 熟悉设备树语法(`.dts`文件修改外设引脚) **阶段2: MST705特定开发** 1. **显示系统开发流程** ```mermaid graph LR A[配置设备树显示节点] --> B[移植屏厂初始化代码] B --> C[调试背光PWM参数] C --> D[通过FrameBuffer测试输出] ``` 2. **视频播放实现** - 依赖**MStar私有解码库**(闭源,需签NDA获取) - 需调用`libv4l2`接口实现视频流管道(如:`v4l2-ctl --set-fmt-video`) --- #### **三、替代方案建议** 若坚持避免Linux,可考虑以下路径(但严重限制功能): 1. **裸机开发(不推荐)** - 需自行实现: - DDR3初始化(**极其复杂的时序配置**) - 二级Cache一致性维护 - 视频解码器寄存器操作(无文档支持) - 仅能实现**基础GPIO控制**,无法发挥视频处理能力[^3] 2. **RTOS方案(折中选择)** - 可尝试移植`FreeRTOS`+`LittlevGL`(图形库) - **局限性**: - 最高仅支持`720p@30fps`软件解码(原支持`1080p@60fps`硬解) - 损失硬件2D加速引擎性能 --- #### **四、新手入门成本评估** | **项目** | 时间成本 | 学习资源可用性 | |----------------|---------|---------------| | Linux基础 | 3-6个月 | ★★★☆☆(中等) | | 设备树/驱动开发 | 2-3个月 | ★★☆☆☆(稀缺) | | MST705私有SDK | 1-2个月 | ★☆☆☆☆(需授权) | | **总成本** | **≥6个月** | | > ⚠️ **警告**:若无Linux团队支持,**个人开发者几乎无法完成全功能开发**,建议优先评估项目是否必须使用此芯片。 --- ### **决策建议** ```mermaid flowchart TD A[项目需求] -->|需视频硬解/多屏输出| B[必须学Linux] A -->|仅需UI控制| C[换用普通MCU+屏] A -->|中等图形需求| D[选RTOS方案] ``` **
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值