免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4527 | 回复: 17
打印 上一主题 下一主题

想在北京找一份嵌入式的工作 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-09 09:52 |只看该作者 |倒序浏览
cu里有没有人从事嵌入式方向,特别是嵌入式内核的兄弟?
我比较熟悉arm汇编和c,经常使用ads等工具, 熟悉常见的uart/lcd驱动开发。
另外对rtos很熟悉,自己也实现过一套rtos,包括GUI库的实现。
因为一直想从事底层嵌入式开发,在公司放弃了很多发展机会。现在公司业务方向和自己希望的相差很多。
有人能给介绍一下工作吗?谢谢了!

[ 本帖最后由 wanas 于 2009-7-16 22:37 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-07-10 07:38 |只看该作者
不知道这个能起什么作用。

//================================================================
//     XXXX Real-Time Kernel Ver 0.1a         
//     CopyRight(C) 2007-2009 By XXXX
//================================================================
#ifndef _XXX_THREAD_H
#define  _XXX_THREAD_H

#include "typedef.h"  
#include "timer.h"  
#include "ipc.h"  

//线程状态定义
#define THREAD_STATUS_READY           0x10        //就绪
#define THREAD_STATUS_RUNNING         0x11        //运行
#define THREAD_STATUS_BLOCK           0x20        //阻塞  
#define THREAD_STATUS_DELAY           0x30        //延时
#define THREAD_STATUS_SUSPEND                  0x40        //挂起
#define THREAD_STATUS_BLOCK_SUSPEND   0x41        //阻塞挂起
#define THREAD_STATUS_DELAY_SUSPEND   0x42        //延时挂起
#define THREAD_STATUS_ZOOMBIE         0x50        //僵死  

// 内核线程优先级为0,
// 0~8,56~63 共16个优先级保留给内核用
// 9~55 共48个优先级分配给用户线程使用
#define INIT_THREAD_PRIO        63  

//
#define THREAD_PRIO_HIGH        9
#define THREAD_PRIO_LOW                55
#define THREAD_PRIO_NORMAL        31

#define THREAD_STACK_SIZE        1024                             //默认线程栈大小
#define MAX_THREAD_PRIO     64                  //内核最大线程优先级
#define NO_PRIO_READY       (MAX_THREAD_PRIO)   //没有就绪的优先级
#define MAX_THREAD_NUM      256                 //内核最大线程数目
#define NO_THREAD_READY     (MAX_THREAD_NUM)    //没有就绪的线程
#define WRONG_THREAD_ID                (MAX_THREAD_NUM)    //错误的线程ID
#define THREAD_TITLE_LEN    32                  //线程名字长度
#define MONITOR_THREAD_TID         0

//进程相关函数的返回值  

#define THREAD_SET_PRIO_SUCCESS 1
#define THREAD_SET_PRIO_FAILURE 0  

#define SUSPEND_THREAD_SUCCESS  1
#define SUSPEND_THREAD_FAILURE        0  

#define RESUME_THREAD_SUCCESS   1
#define RESUME_THREAD_FAILURE        0

#define THREAD_DELETE_SUCCESS   1
#define THREAD_DELETE_FAILURE        0
#define THREAD_DELETE_ZOOMBIE        -1  

#define THREAD_INIT_SUCCESS     1
#define THREAD_INIT_FAILURE     0   

#define THREAD_DELAY_SUCCESS     1
#define THREAD_DELAY_FAILURE     0  

#define THREAD_ECODE_SUCCESS     1
#define THREAD_ECODE_FAILURE     0  


//内核任务结构定义
struct TThread
{
    INT32U tid;           //线程ID
    INT32U tss;           //线程堆栈栈底指针
    INT32U tsp;           //线程堆栈栈顶指针  
    INT32U status;        //线程状态
    INT32U prio;          //线程当前优先级
    INT32U bprio;         //线程基本优先级         
    INT32U tick;          //时间片中还剩下的ticks数目
    INT32U slice;         //时间片长度(ticks数目)                 
    struct TThread* next;  //指向进程所在队列的上下兄弟进程的指针
    struct TThread* prev;
    struct TThreadQueue* queue;     //线程所属队列指针
    struct TIRes ires;              //线程ipc 互斥、同步、通讯的控制结构
    struct TTimer timer;            //线程定时器  
    INT8U title[THREAD_TITLE_LEN];  //线程名称         
    INT32S ecode;                   //退出代码
};


//内核线程队列结构定义  
struct TThreadQueue
{
    INT8U group;
    INT8U table[8];     
    INT32U items; //队列中线程数目         
    INT32U entries[MAX_THREAD_PRIO]; //队列中每个优先级内的线程数目                 
    struct TThread* handle[MAX_THREAD_PRIO]; //队列中每个优先级内的线程队列头         
};

// 全局变量声明
GLOBAL struct TThread* _THREAD_READY;
GLOBAL struct TThread* _THREAD_CURRENT;
GLOBAL struct TThreadQueue* _THREAD_READY_QUEUE_PTR;
GLOBAL struct TThreadQueue* _THREAD_DELAY_QUEUE_PTR;
GLOBAL struct TThreadQueue* _THREAD_SUSPEND_QUEUE_PTR;

// 全局函数声明
MODULE void _thread_enter_queue(struct TThreadQueue* queue, struct TThread* thread);
MODULE void _thread_leave_queue(struct TThreadQueue* queue, struct TThread* thread);
MODULE void _thread_schedule(void);
MODULE void _thread_load(struct TThread* thread);
MODULE void _thread_set_prio(struct TThread* thread, INT8U prio, INT8U flag);
MODULE void _thread_must_switch(void);
MODULE void _thread_try_switch(void);
MODULE struct TThread* _thread_get_best(struct TThreadQueue* queue);

// API函数声明  
KNLAPI RETVAL Thread_Init(struct TThread* thread, void* start, void* stack, INT32U ssize, INT8U
    prio, INT32U tslice);

#endif  

/*_XXX_THREAD_H */

[ 本帖最后由 wanas 于 2009-7-16 22:38 编辑 ]

1.JPG (36.35 KB, 下载次数: 36)

1.JPG

2.JPG (38.09 KB, 下载次数: 38)

2.JPG

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
3 [报告]
发表于 2009-07-10 09:47 |只看该作者
有点小牛,可惜我们公司不适合你,也供不起你.....

论坛徽章:
0
4 [报告]
发表于 2009-07-10 09:58 |只看该作者
呵呵,LZ水平不错,我们公司在扩招苦力,要不,来我们公司吧,你的其他信息呢,对待遇要求呢?

论坛徽章:
0
5 [报告]
发表于 2009-07-10 16:25 |只看该作者
原帖由 jxfengzi 于 2009-7-10 09:58 发表
呵呵,LZ水平不错,我们公司在扩招苦力,要不,来我们公司吧,你的其他信息呢,对待遇要求呢?

感谢!待遇没多大要求,按照公司职位安排和个人能力给,做嵌入式开发就行了。
email: aliuxm@hotmail.com

[ 本帖最后由 wanas 于 2009-7-10 16:50 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-07-10 16:30 |只看该作者
原帖由 smalloc 于 2009-7-10 09:47 发表
有点小牛,可惜我们公司不适合你,也供不起你.....

你们什么公司啊

[ 本帖最后由 wanas 于 2009-7-10 22:32 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-07-13 11:12 |只看该作者
友情帮定,楼主加油。

论坛徽章:
0
8 [报告]
发表于 2009-07-13 11:31 |只看该作者
你幸好没去北阳电子~~

论坛徽章:
0
9 [报告]
发表于 2009-07-13 14:45 |只看该作者
原帖由 snail_314 于 2009-7-13 11:31 发表
你幸好没去北阳电子~~

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
10 [报告]
发表于 2009-07-13 14:46 |只看该作者
楼主用的是友善之臂吧?
呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP