自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (7)
  • 收藏
  • 关注

原创 八皇后问题解法(Lua版)

PIL中八皇后问题解法

2016-08-11 19:02:32 515

原创 圈圈的Blog搬家了

原CU Blog地址:http://blog.chinaunix.net/uid/8447633.html    Blog因为CU数据库问题登录登录不上,联系CU修改又麻烦。把CU上部分的Blog帮过来,其中有一部分是转载经过”博客搬家以后都成了“原创”。2016年8月8日作为分解先,之后坚持在CSDN只写原创Blog。Keep writing, don't be lazy

2016-08-08 11:56:34 268

原创 Beg-Shopping

Talk about shopping for beginner

2016-08-21 16:15:36 467

转载 一个成功的Git分支模型

本文译自 http://nvie.com/posts/a-successful-git-branching-model/ (by Vincent Driessen)–本文中我会展示一种开发模型,一年前该模型就已经被我用在所有的项目中(包括工作中的项目和私有项目),结果是非常成功的。我早就想为此写点东西,可直到现在才有时间。本文不会讲述任何项目的细节,只会涉及到分支策略和发布管理。本文使用Git作为

2016-08-08 09:33:19 974

原创 花样滑冰教程视频

先说一些题外话,一直以来我就没弄明白,为什么花样滑冰,叫个figure skating,直到看了维基,才知道早年比赛中有强制项目,就是在冰面上滑出固定的图案,有些很像数字,所以就叫figure了。冰鞋有很多种,适合不同类型的冰上运动。花样滑冰的冰刀带有冰齿,大齿吃冰深,小齿适合需要复杂步法的冰舞。好的冰鞋刀(blade)和鞋(skate)是分开卖的。冰刀有两个刃,分别是内刃(inside edge

2016-08-08 09:33:16 3580

原创 Nand ECC学习

Nand ECC校验和纠错原理及2.6.27内核ECC代码分析.pdf    samsung_ecc_algorithm_for_256b.pdf    samsung_ecc_algorithm_for_512b.pdf   内核代码已经实现了256Byte/3Byte和512Byte/3Byte ECC算法,现在芯片定义要搞204Byte/nByte,还不知道算法怎样实现。Goog

2016-08-08 09:33:13 1008

原创 模拟指令断点

思路是利用trace指令替换目标断点地址的指令,单CPU执行到目标断点地址指令的时候触发一个trace异常。在trace异常处理里面处理断点。这样模拟方法优点是可以设置多个指令断点,不需要CPU额外的支持。数据断点通常是在CPU流水线的memory access阶段实施监控,如果地址吻合则触发数据断点。这个需要CPU硬件支持,不是所有CPU都支持。更强大的当然是gdb server了。但是将gdb

2016-08-08 09:33:11 280

原创 异常捕捉与反汇编分析

MIPS Exceptions有很多种,最常见的TLB(Miss/Invalid)、unaligned access。代码中NULL指针访是最常见的问题之一,通过将0地址附近(足够大)一段地址映射为Invalid。通过NULL指针对这段内存地址访问的时候就会触发TLB Invalid Exceptions。“足够大”要多大,要视系统最大结构体偏移地址而定,通常是4KB~64KB。如果访问地址超过了

2016-08-08 09:33:08 957

原创 MIPS架构培训之MMU原理

源自培训讲稿,并隐去公司系统软件的内容。Cache相对独立,比较容易明白。但MMU和OS关联很紧密,难度系数比Cache要大。1、为什么会有MMU    a)安全性考虑:    没有利用MMU来做虚拟空间管理的系统,程序可以互相访问对方的数据和代码。随便一个程序出问题可能导致系统崩溃,特别是第三方程序。    利用MMU建立虚拟地址空间管理,每个程序(后面称之为进程)有独立的地址空间,程序之前不能

2016-08-08 09:33:05 1150

原创 MIPS CP0 Hazards问题--从Release1到Release2

关于的CP0 Hazards,官方定义是:Each instruction in the program sees the results of the previous instruction. There are some deviations to this model. These deviations are referred to as hazards.举个关中断的例子:    mfc

2016-08-08 09:33:03 547

原创 MIPS架构培训之Cache原理

说明:来自培训讲稿,并隐去与公司系统软件相关部分内容。MIPS架构培训之Cache原理目的:      了解Cache原理、注意Cache一致性问题----直观影响:展示计算机系统存储层次结构图介绍局部性原理:    时间局部性:for() i    空间局部性:buf[i] buf[i+1]    for (i = 0; i         sum += buf[i++];    }    su

2016-08-08 09:33:00 1132

原创 对付内存改写问题的银弹

内存改写问题一直是软件开发中最难搞的问题之一。在有虚拟地址空间管理的OS中,比如linux、windows等,应用程序出现内存改写最坏的情况是应用程序蹦掉而已,不会对系统造成很大危害。但是在没有虚拟地址空间管理的RTOS中,如果应用程序修改了系统核心内存整个系统就嗝屁了。如果软件工程真的有银弹,我首先要拿来对付内存改写问题。出现内存改写常见的原因有数据越界、野指针、不同类型指针之间的强制转换等。系

2016-08-08 09:32:56 626

原创 上一个十年,下一个十年

2011年的第一天宅在家看了一天《老友记》,下午一点才下去吃午饭。2010:    工作方面:完成了两款新CPU平台开发、EG系列出口网关产品线和WLAN产品线平台开发,也在2010最后的一个工作日被推荐位MIPS CPU小组的leader。应该说颇有收获,但是这么高工作强度不知道能撑几年。2011要正式带3个人了,杂七杂八的事会更多。2010是主力干活+偶尔打杂,2011将是干活+打杂并重了。按

2016-08-08 09:32:54 573

转载 设计模式中类的关系

转自博客 http://blog.csdn.net/zhengzhb/article/details/7187278 设计模式友情博客 http://blog.csdn.net/zhengzhb/article/category/926691   在java以及其他的

2016-08-08 09:32:50 257

原创 代码的抽象三原则

代码的抽象三原则 作者: 阮一峰 日期: 2013年1月31日 软件开发是"抽象化"原则(Abstraction)的一种体现。 所谓"抽象化",就是指从具体问题中,提取出具有共性的模式,再使用通用的解决方法加以处理。 开发软件的时候,一方

2016-08-08 09:32:48 542

转载 用Gvim建立IDE编程环境 (Windows篇)

原文链接:http://rokin.iteye.com/blog/475274用Gvim建立IDE编程环境 (Windows篇)博客分类: linux编程IDEWindowsvimPHP 转载自:LeeMonCC说明:本文是作者在完全按照著名的《手把手教你把Vim改装成一个IDE编程环境》一文,在Windows XP上用gvim建立IDE环境时所作的备忘。原作地址:http://blog.csdn

2016-08-08 09:32:45 443

原创 SQLite3 数据库使用

YLinux主页计算机闲情偶寄说说关于SQLite3 数据库使用by Jian Lee参考简介特点Linux 下命令行操作创建数据库SQL 指令简介SQLite 的特别用法常用命令SQLite 结构分析触发器SQLite 的 C 语言编程执行sql语句不使用回调查询数据库操作二进制参考SQLite3 使用教学SQLite 简单教程简介特点软件属于公共财(public domain),SQLite可

2016-08-08 09:32:42 836

原创 SQLITE3 使用总结

SQLITE3 使用总结2009-09-16 07:36 2624人阅读 评论(10) 收藏 举报前序:Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 unix 平台写代码。下面我所写的东西

2016-08-08 09:32:39 1003

转载 一步成高手:终极图解内存(下篇)

http://www.qqread.com/pcbase/2007/04/c306543.html希望对大家有帮助,相信你看完就能成为高手了。 点击查看大图 DDR内存芯片的内部结构图,注意比较上文中SDRAM的结构图 这也是一颗128Mbit的内存芯片,标称规格也与前文的SDRAM一样为32×4bit。如日中天——DDR SDRAM(上)DDR SDRAM全称为Double Data Rate

2016-08-08 09:32:36 2618

转载 一步成高手:终极图解内存(上篇)

DDR基本忘光了,来个扫盲贴。http://www.qqread.com/pcbase/2007/04/c306549.html==========================《电脑高手》也都是一笔带过。作为电脑中必不可少的三大件之一(其余的两个是主板与CPU),内存是决定系统性能的关键设备之一,它就像一个临时的仓库,负责数据的中转、暂存…… 不过,虽然内存对系统性能的至关重要。作为电脑中必不

2016-08-08 09:32:33 2648

转载 Linux内部的时钟处理机制全面剖析

Linux内部的时钟处理机制全面剖析 在 Linux 操作系统中,很多活动都和时间有关,例如:进程调度和网络处理等等。所以说,了解 Linux 操作系统中的时钟处理机制有助于更好地了解 Linux 操作系统的运作方式。本文分析了 Linux 2.6.25 内核的时钟处理机制,首先介绍了在计算机系统中的一些硬件计时器,然后重点介绍了 Linux 操作系统中的硬件时钟和软件时钟的处理过程以及软件时钟的

2016-08-08 09:32:23 615

原创 C中如何调用C++函数?

C中如何调用C++函数  C中如何调用C++函数? 前阵子被问及一个在C中如何调用C++函数的问题,当时简单回答是将函数用extern "C"声明,当被问及如何将类内成员函数声明时,一时语塞,后来网上查了下,网上有一翻译C++之父的文章可以作为解答,遂拿来Mark一下。 将 C++ 函数声明为``extern "C"''(在你的 C++ 代码里做这个声明),然后调用它

2016-08-08 09:32:13 6503 1

原创 struct tvec_base_t -- data structures for dynamic timers

struct tvec_base_t -- data structures for dynamic timers    Stringing together all timers in a single list would degrade system performance, because scanning a long list of timers at every

2016-08-08 09:32:11 758

转载 宏定义中的##操作符和... and _ _VA_ARGS_ _

宏定义中的##操作符和... and _ _VA_ARGS_ _1.Preprocessor Glue: The ## Operator预处理连接符:##操作符Like the # operator, the ## operator can be used in the replacement section of a function-like macro.Additionall

2016-08-08 09:32:08 440

原创 Mips cache lock

Maybe mips cache lock is not used as much as cache writeback and cache invalidate,so we need a chance to "learning through practice".In embedded system,before we have init the RAM,we have no writeable

2016-08-08 09:32:05 475

原创 soft lockup

1  Debugging Linux Kernel Lockup / Panic / OopsHere are some notes on how to debug Linux kernel lockups – both "hardlockups" and "soft lockups" – and other panic, BUG, and oopssituations. I am n

2016-08-08 09:31:55 932

原创 Linux 2.6内核中新的锁机制--RCU

Linux 2.6内核中新的锁机制--RCU杨燚 ([email protected]), 计算机科学硕士杨燚,计算机科学硕士,毕业于中科院计算技术研究所,有4年的Linux内核编程经验,目前从事嵌入式实时Linux的开发与性能测试。您可以通过[email protected][email protected]与作者联系。 简介: 本文详细地介绍了

2016-08-08 09:31:45 580

原创 xpl同学的vfs学习笔记(下)(强烈推荐)

原文链接http://bbs.chinaunix.net/viewthread.php?tid=2054087&page=1&authorid=6105910楼发表于 2009-03-19 15:53 | 显示全部帖子mount 文件系统主要数据结构:struct namespace {       

2016-08-08 09:31:42 335

原创 xpl同学的vfs学习笔记(上)(强烈推荐)

原文链接http://bbs.chinaunix.net/viewthread.php?tid=2054087&page=1&authorid=610591楼发表于 2008-05-23 16:30 | 显示全部帖子第 37 ~ 39 楼更新了mount 文件系统部分的笔记。 - 2009.03.19.------

2016-08-08 09:31:40 329

原创 关于".set push"和".set pop"

在龙芯论坛搜到的。.set Sets (and clears) various flags that affect generated code. The following table may not be a complete list.Flagnoreorder        Turns off reordering of instructions. When on, t.i

2016-08-08 09:31:30 525

原创 ucos ii在spca061a单片机上移植代码

08年ucos ii在spca061a单片机上的移植代码,给个csdn下载的链接,顺便刷一下csdn的积分,嘿嘿。http://download.csdn.net/source/589173 管理员在2009年8月13日编辑了该文章文章。 -->

2016-08-08 09:31:27 391

原创 喂狗超时问题分析

一般OS都是在系统调度定时器中区喂狗。外部看门狗一般是1s左右,调度通常是n ms,因此只要系统正常跑的时候外部看门狗都不会复位。 如果程序运行过程中外部看门狗复位了,一般是关中断时间过长或者关中断后进入死循环了。 关中断时间过长:开关中断通常是调用系统的接口函数。如果是存在关中断时间比较临界的情况,可以在调用开关中断的接口中挂钩子函数,统计每次关中断时间的长度。如果中断时间超

2016-08-08 09:31:24 1739

原创 mips代码段机制保护实现--运用MMU

在传统的RTOS中,所有程序共享同一个地址空间。就是说程序可以读写内存中的任意地址,包括代码段。查bug的时候如果怀疑是程序写了代码段导致的,可以通过MMU将代码段设置为只读。 简单起见假设代码段从0x10000(64KB)开始,代码段结束地址小于16MB。通常0x10000以下地址用于捕获空指针访问异常。1.修改ld文件,使代码段16MB对齐。2.在MMU初始化的时候将前16MB

2016-08-08 09:31:21 1138

原创 天使的翅膀--BCM5300X平台调试笔记

写这篇的时候正在听范范的“天使的翅膀”,我很喜欢的歌,就用它来做标题吧。 10月20到11月19日,bcm53003平台花一个月时间终于完成了。 大概情况如下1)bootloader  排除硬件CPU大小端配置错误后Bootloader一版起机,意料之中。--- 2)nandflash驱动   bcm53003的nandflash比较bt,现在local

2016-08-08 09:31:19 1177

原创 嵌入式的HelloWorld

最简单程序是点几盏LED灯,相对于C语言的Hello World吧。程序只能用汇编写而不能用C语言写,因为内存还没有初始化堆栈不能用(也有人拿cache当ram用的,那需要写更多的汇编代码就此排除)。编译工具只需要gcc就可以,不用Keil、ADS这些IDE。IDE隐藏了链接和加载过程,直接使用gcc可以更了解linker/loader。broadcom bcm4748 demo板上有gpio1/

2016-08-08 09:31:16 733

原创 74Kc mini_boot

最近在移植bcm4748的bsp,先弄了一个mini_boot。内容大概有初始化cp0、初始化I/D cache、初始化ddr2控制器、将代码搬到内存运行、初始化堆栈指针,然后跳到内存的c程序入口、初始化串口可以从串口打印及从串口接收数据,重新写一下写Makefile和ld script。现在还要继续完成bsp,有时间再将这个mini_boot贴出来。

2016-08-08 09:31:13 323

原创 Read MIPS Run2nd MIPS cache(转)

2008.9.28Read MIPS Run2nd  MIPS cache激烈一些,没有cache的MIPS就不是RISC.....   MIPS reset 后cache的大部分状态都是未定义的, 这也是bootstrap需要初始化cache的原因.Cache 和cache 管理L1 cache的重要作用就是在固定的时间内完成操作以使CPU的pipeline无间歇的运转. MIPS采用哈

2016-08-08 09:31:03 1505

原创 (转)大小端和存储器对齐

我们常常看到“alignment", "endian"之类的字眼, 但很少有C语言教材提到这些概念。 实际上它们是与处理器与内存接口, 编译器类型密切相关的。考虑这样一个例子: 两个异构的CPU进行通信, 定义了这样一个结果来传递消息:struct Message{      short opcode;      char subfield;      long message_length;  

2016-08-08 09:31:00 1043

原创 Linux内核稀奇古怪的宏

本文收集Linux内核中各种稀奇古怪的宏定义。 #define get_addr(type, member, mem_addr) (type*)(mem_addr - &(((type*)0)->member)) #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #define list_entry

2016-08-08 09:30:57 401

原创 再读《TCP/IP详解 卷一:协议》

群读书第一个主题是:TCP/IP。第一阶段是学习协议,终于又把这套书翻了出来。大学时候省吃俭用买了这套书,结果只看完第一卷有点对不起自己。这次一定要啃下来。学习过程待续... (2009.12.08) 管理员在2009年8月13日编辑了该文章文章。 -->

2016-08-08 09:30:55 373

Programming in Lua 3rd

2016-08-07

Essential C#4.pdf

Essential C#4.pdf

2013-01-22

C#入门经典第四版

C#入门经典第四版

2013-01-22

HUAWEI MG323 Series 无线模块 AT命令手册

HUAWEI MG323 Series 无线模块 AT命令手册

2012-11-04

华为GM323文档

华为GM323文档 GSM模块开发推荐

2012-11-04

sqlite3权威入门手册

sqlite3权威入门手册, 命令解析、参考代码。

2012-09-26

ucos在凌阳单片机的移植(原创)

ucos移植到凌阳16位单片机spce061a上。 编译工具使用unsplus ide,请到凌阳大学计划网站下载。

2008-08-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除