共 4 页: 上一页 1 2 3 4 下一页
摘要:SmartOS是一个完全由新生命团队设计的嵌入式操作系统,主要应用于智能家居、物联网、工业自动化控制等领域。ARM Cortex-M系列微处理器几乎全都做成单核心,对于业务逻辑较复杂的物联网就显得难以使用,因此SmartOS设计了两个多任务调度系统:1,多线程调度,重量级,逼近PC操作系统多线程用法 阅读全文
posted @ 2017-09-03 13:27 大石头 阅读 (1170) 评论 (0) 编辑
摘要:设备身份验证有以下目标:1,别人的设备不能接入我们的云平台2,我们的设备,不能接入别人的云平台3,考虑到设备要批量生产,云平台先生成设备编码再写入每个设备的方法,非常不现实!那么,标准的设备身份验证应该是:1,设备上电联网后,需要一个激活过程2,设备向云平台申请激活,包括 厂商、生产批次、生产密码、 阅读全文
posted @ 2017-09-03 13:20 大石头 阅读 (412) 评论 (0) 编辑
摘要:以太网接入型设备,一般分为网线或WiFi两种。不管是WiFi还是网线,可以通过局域网抓包、笔记本WiFi桥接抓包等等手段。最著名的抓包软件 Wireshark如何抓取硬件设备的网络数据包,考量的是网络知识基本功,需要大家自行度娘!基本准备工作:1,Wireshark监听udp的53端口,一部分硬件设 阅读全文
posted @ 2017-09-02 00:02 大石头 阅读 (1689) 评论 (0) 编辑
摘要:返回值优化,是一种属于编译器的技术,它通过转换源代码和对象的创建来加快源代码的执行速度。RVO = return value optimization。测试平台:STM32F103VG + Keil 5.15背景:我们有个MacAddress::ToArray 因为封装需要,打算返回字节数组类Byt 阅读全文
posted @ 2017-09-01 22:59 大石头 阅读 (1562) 评论 (0) 编辑
摘要:自2003年开始,断断续续用了12年C++,直到这两年做物联网嵌入式开发,感觉对C++的掌握仅有10%左右。习惯了C#开发,C++倒显得难以下手!今天就一个函数返回问题跟辉月兄弟讨论一番,大有所获,足以解决我们目前80%的问题,感觉对C++的掌握上升到了20%。背景,现有字节数组ByteArray和 阅读全文
posted @ 2017-09-01 22:56 大石头 阅读 (1086) 评论 (15) 编辑
摘要:因为需要自动适配芯片进行系统配置,所以我们有必要通过读取一些系统寄存器来获取必要信息。我们的代码需要兼容STM32F1/GD32F1/STM32F0/STM32F4代码如下: 各常见芯片信息如下:STM32F030C8T6 GD32F130C8T6 STM32F051C8T6 GD32F150C8T 阅读全文
posted @ 2017-09-01 14:05 大石头 阅读 (427) 评论 (0) 编辑
摘要:无数次遭受堆栈溢出折磨,随着系统变得复杂,故障点越来越难以查找!主要溢出情况如下:1,一般RAM最后两块空间是堆Heap和栈Stack,堆从下往上用,栈从上往下用,任意一个用完,都会进入对方的空间2,如果栈用完,进入堆的空间,这个时候系统是不会有任何异常的,也就是说,栈底没有什么意义。除非堆和栈指针 阅读全文
posted @ 2017-09-01 13:55 大石头 阅读 (143) 评论 (0) 编辑
摘要:先来看看我们SmartIRQ的具体实现 在构造的时候备份,然后根据参数决定打开还是关闭中断。在系统内核时钟里面,关键操作需要关闭中断,最后打开,以免其它中断影响关键操作的原子事务性。于是我们有: 其中irq在离开作用域时被释放,自动调用SmartIRQ的析构函数,还原了中断状态因为调用极其频繁,最高 阅读全文
posted @ 2017-09-01 13:12 大石头 阅读 (212) 评论 (0) 编辑
摘要:在测试MF固件时,发生一个非常诡异的异常,代码如下: 指定第二行代码时,会跳到异常处理程序,发生了6号异常(用法异常Usage Fault)我对ARM还是非常陌生,不知道怎么可能发生这个问题。在今天之前,这行代码执行了无数次也未曾出错,最近也没有修改该函数或者相关函数的代码,昨天倒是大量修改了其它代 阅读全文
posted @ 2017-09-01 13:06 大石头 阅读 (199) 评论 (0) 编辑
摘要:在2015年7月16日,XCode新增了实体处理模块IEntityModule,用于拦截实体对象添删改操作。 该接口参考IHttpModule设计理念,横切在实体对象的关键生命周期之中,以达到多实体类通用处理的效果。比如为多个实体类增加假删除等特色功能。 阅读全文
posted @ 2017-08-30 23:53 大石头 阅读 (477) 评论 (2) 编辑
摘要:网络客户端ISocketClient和网络会话ISocketSession都继承了ISocketRemoteISocketRemote表示远程通信,核心就是收发数据。下面是ISocketRemote接口的主要实现 一、同步收发一般小型网络应用,或者个人学习程序,都会使用同步收发。Send(xxx); 阅读全文
posted @ 2017-08-30 22:51 大石头 阅读 (371) 评论 (0) 编辑
摘要:新生命团队基础框架X组件,包括网络、数据库、安全、多线程、反射、序列化、模版引擎、服务代理、远程过程调用等模块,包括Mvc后台魔方、超级码神工具、消息队列等子系统,支持Mono/Android/iOS/NetStandard。 新生命开发团队 网站:http://www.NewLifeX.comQQ 阅读全文
posted @ 2017-08-30 10:23 大石头 阅读 (902) 评论 (5) 编辑
摘要:为了验证SQLite的性能巅峰,我们来做一个大数据测试。 模拟每天4亿票销售订单,分表分库,每天一个数据库文件,有订单号、部门节点、时间等。 租用阿里云最低配置ECS,单核1G内存,1M带宽,每年300块,每天九毛钱 阅读全文
posted @ 2017-06-02 11:35 大石头 阅读 (19023) 评论 (70) 编辑
摘要:SQLite什么都好,就怕“database is locked”这些年来想尽办法去规避它。测试代码: static void Test2() { XCode.Setting.Current.TransactionDebug = true; XTrace.WriteLine(Role.Meta.Co 阅读全文
posted @ 2017-01-27 03:07 大石头 阅读 (1037) 评论 (0) 编辑
摘要:魔方 是一个基于 ASP.NET MVC 的 用户权限管理平台,可作为各种信息管理系统的基础框架。 演示:http://cube.newlifex.com 源码 演示账号:admin/admin 源码: https://git.newlifex.com/NewLife/X/Tree/master/N 阅读全文
posted @ 2017-01-23 17:13 大石头 阅读 (1682) 评论 (8) 编辑
摘要:XCode天生就有分表分库功能,设计于2005年!历时9年,这是分表分库功能第一次针对性正式更新。在XCode里面,分表分库非常简单,在操作数据(查询/更新)前修改Meta.ConnName/Meta.TableName,指向别的连接字符串和表名,就实现了分表分库功能!实际上,XCode实体层构建数... 阅读全文
posted @ 2014-06-16 05:01 大石头 阅读 (5475) 评论 (17) 编辑
摘要:2008年4月到上海,约好了待遇五千多的一家公司,地铁8号线西藏北路附近。面试的时候才得知,试用期无工资, 每天50块钱饭贴,转正后2k。公司不大,主要接别的公司分出来的项目。因为是好友介绍的,我觉得可能是对方没有真正的了解我,留下 HttpProxy/XProxy源码后我就离开了。那时心里想,2k 阅读全文
posted @ 2014-02-21 08:55 大石头 阅读 (12738) 评论 (264) 编辑
摘要:快要毕业了,最后一年基本待在实验室做毕业设计。导师严老师认识的一个项目刚好缺一个做网站的, 就让我帮一下忙。需要去跟客户沟通获取需求,我觉得这是一个很好的学习的机会,没想太多,就做了!几个月后,老师把我叫进机房,项目组老师也在,交给我厚 厚一叠钱。“这是两千块,做网站辛苦你了,你点一下!”。我没有点 阅读全文
posted @ 2014-02-19 12:05 大石头 阅读 (6802) 评论 (51) 编辑
摘要:跟朋友聊天,说到早些年怎么赚钱。 我第一个想起的是2003年,在广西大学空谷社区技术部,被派去帮校友会维护校友会网站(ASP+SQL2000),搞了几个月。某一天技术部部长拿给我50块RMB,我甭提多高兴!这可是我这辈子第一次赚到钱呀!!!于是请好兄弟双喜和曹灿到超市吃了一根冰棍。 虽然在1996年 阅读全文
posted @ 2014-02-18 17:37 大石头 阅读 (6278) 评论 (29) 编辑
摘要:新生命开发团队大石头讲解网络异步编程(C#)内容:网络编程基础、IOCP、APM、SAEA时长:2~3小时价格:20元,20人及以上成团,http://item.taobao.com/item.htm?id=20159314203联系:QQ群1600800YY :频道41600800至少20人份拍下(无上限),再商量安排具体讲课时间,如若一个月内凑不够20人份,将退还全部报名费!大家需要准备好VisualStudio2010/2012/2013,边讲边做练习,当场解决问题!初步定在YY频道讲课,未报名者止入!从2004年开始,我们新生命开发团队就有免费网络讲课的传统,感兴趣的人很多,真正听的不 阅读全文
posted @ 2013-09-14 14:54 大石头 阅读 (1369) 评论 (0) 编辑
摘要:软件开发本身是一个特殊的行业,它让我们可以在工作之余,发挥自己的优势,多获得一些收入!根据我自己多年来的一点经验,说说如何找到并完成兼职项目,没有提到的地方,还请大家补充:1,选择项目要慎重我的原则是不熟悉的人的项目不做!刚认识不久就有项目的也不做,如果是自己很熟悉的朋友,他的也是很熟悉的朋友,那可 阅读全文
posted @ 2012-11-09 12:23 大石头 阅读 (11277) 评论 (116) 编辑
摘要:如果喜欢.Net Micro Framework,对C#玩单片机,对物联网和工农业自动化感兴趣,MF将是一个不错的选择! MF是微软开源的项目,本系列移植教程将让你具有独立的移植能力,配合市场上40~300RMB的各种单片机学习板,可以让你走得更远! 阅读全文
posted @ 2012-11-08 22:03 大石头 阅读 (6788) 评论 (37) 编辑
摘要:一些系统,需要能够发送短信,量很小,平均每日10条。 运营商平台太贵,白名单很严格,小额只能发省内; 各短信平台有各种限制,大事件前后会关闭; 飞信以前可以用WAP发,但是现在多了验证码,搞不定了; 短信猫买来还得写控制程序,价钱和时间上…… 阅读全文
posted @ 2012-11-02 09:32 大石头 阅读 (5062) 评论 (37) 编辑
摘要:钓鱼岛是中国的!如果你不承认,请关闭本页!移植准备.Net Micro Framework移植必须安装PK最新版本,可以从官网(http://netmf.codeplex.com/)下载,建议安装到C:\PK;我们采用MDK编译器,所以也必须安装Keil MDK,建议安装到C:\Keil\ARM;最好也安装VC++ 2010 Sp1,后面绕开的方法未验证。建议安装功能强大的文本编辑软件,比如Notepad++。建议购买固态硬盘,编译速度将可以提升五到十倍,并且后面还有大量的搜索字符串工作,在一万多个零碎文本文件里面找一个变量名或方法名编译脚本setenv_base.cmd增加MDK编译器,不带 阅读全文
posted @ 2012-09-12 10:28 大石头 阅读 (3885) 评论 (48) 编辑
摘要:通过《C#点灯神话》,我们了解到单片机最基础的输入输出功能,也就是所谓的GPIO。 这一次,我们来点更多的“灯”——数码管,并且还是四位数码管。 阅读全文
posted @ 2012-09-08 15:45 大石头 阅读 (3050) 评论 (18) 编辑
摘要:如同学习每一门编程语言的Hello World!一样,点灯自然成了单片机入门的HelloWorld。因为单片机上的HelloWorld实在是太难了! 在电子上只有电压电流之类的概念,而对于单片机来说,我们可以认为0代表低电压(低电平、接地),1代表高电压(高电平)。在我们学习的STM32单片机上,高电平其实就是3.3伏!今天我们要点亮的小灯,就是发光二极管,让3.3V和0V分别接在发光二极管的正... 阅读全文
posted @ 2012-09-06 12:15 大石头 阅读 (5617) 评论 (34) 编辑
摘要:因为探索者一号供不应求,远超预期,并且我们自己设计制造的成本太高,所以没有再次生产。而是选择较高性价比的第三方STM32开发板作为MF学习板,是为探索者二号。因此,二号并不是一号的改进版,它们压根就不同,甚至MCU(处理器)都不同。先来看看探索者二号的全貌:二号相对于一号,有几个优点是非常吸引人的:直接配有匹配的TFT触屏,避免了一号那样出现接口不兼容的问题;带有4个高亮蓝色LED灯,4个功能按键,方便测试基础功能;引出的排针针脚,都标有名字,很容易查找。同样,也有一些缺点:MCU是STM32F103VET6,针脚100P,比一号ZET6的144P少,不过对于开发学习也足够用了,Flash和. 阅读全文
posted @ 2012-09-03 13:14 大石头 阅读 (2222) 评论 (9) 编辑
摘要:MF全称Microsoft® .NET Micro Framework,是微软推出的一个微型.Net框架,微型到什么程度呢?它自身就可以是一个操作系统OS,它编译出来的程序,就可以直接跑在硬件上,当然,也可以在别的嵌入式系统(如UCOS)上用它,MCU才不管什么操作系统呢,找到第一条指令就开始执行,到哪算哪。有了它,我们就可以直接用VisualStudio C#写嵌入式程序。不过也有几点不足:性能上据说中等,跑图形界面时需要较大内存(MCU内SRAM比较小,一般64K~512K,可以外扩4M),只能用.Net的很少的一部分类库MF的核心原理就是通过特殊的C#编译器把你写的代码编译成为 阅读全文
posted @ 2012-09-02 15:37 大石头 阅读 (922) 评论 (4) 编辑
摘要:这是STM通用的刷固件方法,不仅仅适用于.Net Micro Framework,支持我们当前所有板子,包括阿波罗、探索者和雅典娜三个系列。单片机可以看做是CPU、内存和硬盘的集合体,其中的Flash就是硬盘,RAM就是内存。我们所谓的刷机(刷固件)就是把系统(固件)安装(刷)到单片机上。固件一般是bin文件,也有hex。传统单片机程序,系统程序和用户程序都混在一个bin里面,而我们的MF,一般刷TinyCLR.bin,然后用户程序通过另外的软件刷进去(比如MFDeploy和vs2010)。一般的单片机都有专用的固件烧写设备,比如51的编码器,TI和STM的JLink和ULink等。探索者一号 阅读全文
posted @ 2012-09-02 09:04 大石头 阅读 (2454) 评论 (3) 编辑
摘要:X组件只是一个工具,一个约束,集成了2002年新生命团队建立以来数千人的智慧,所以我们谈不上创新,我们充其量只是管理者,收集消化大家的技术,整理起来给更多的人使用。我们希望建立一套大部分人比较容易接受的标准,让大家在这个标准之内开发组件开发项目,让大家的项目具有一致的风格,让大家都能够很容易的相互合 阅读全文
posted @ 2012-09-02 08:59 大石头 阅读 (2970) 评论 (7) 编辑
摘要:因为采购液晶屏的时候没有告诉厂家要母头,结果厂家默认发了公头的,然后开发板上的接头也是公头,从而无法连接。 心急之下,到电子城做了一批排线,两头插座,中间排线,把开发板和液晶屏连起来,然后我没有测试。 周末的时候测试发现,液晶屏没有点亮,后面的IC很烫,我就怀疑烧了,觉得自己可能接错线。 今天晚上用万用表测试,才知道,排线根本就是错的,然后自己从新做了两次错误,都以失败告终。 多次思考后... 阅读全文
posted @ 2012-08-27 22:31 大石头 阅读 (453) 评论 (0) 编辑
摘要:MF让我们这些C#程序员能够把手伸到嵌入式行业,大大增强我们在各种项目中的竞争能力。无奈国内研究MF的人少之又少,为了加速MF技术的研究,我们团队采用少量补贴的方式,委托厂家生产了一批MF开发板,售给团队内的开发人员。 阅读全文
posted @ 2012-08-27 16:44 大石头 阅读 (998) 评论 (4) 编辑
摘要:自从发布了一篇博客Oracle免客户端For .Net(增加分析Devart和DataDirect)后,非常非常多的同学前来问各种Oracle客户端运行时安装配置的问题,严重影响了我们团队的正常工... 阅读全文
posted @ 2012-05-28 10:58 大石头 阅读 (5314) 评论 (18) 编辑
摘要:用法: ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 DAL.AddConnStr("xxgk", "Data Source=192.168.1.21;Initial Catalog=信息公开;user id=sa;password=Pass@word", null, "mssql"); var dal = DAL.Create... 阅读全文
posted @ 2012-05-10 10:19 大石头 阅读 (1802) 评论 (4) 编辑
摘要:与其它ORM框架相比,XCode拥有最强的多数据库正向反向工程,暂时还没有发现能在这点上超于XCode的,哈哈!但是,XCode的多数据库反向工程,也是有代价的,不同数据库的数据类型相差十万八千里,我们不可能完全支持。所以,我们只做了常见的一些数据类型支持,但是这些已经足以满足99%的要求。最佳数据类型如下:1,整型。Int32是标准配置,这个必须有的。在Oracle,整型就是小数为0的Nume... 阅读全文
posted @ 2012-05-10 10:17 大石头 阅读 (2912) 评论 (5) 编辑
摘要:开始进入工业自动化,买的工控机带有GPIO接口,可用于直接控制继电器。 从厂家拿到接口手册一看,居然是汇编直接操作端口,基本上是IN/OUT指令了。接口很简单,计算位移,读取;计算位移,写入。 这种接... 阅读全文
posted @ 2012-05-10 09:36 大石头 阅读 (15405) 评论 (64) 编辑
摘要:背景: 两个实体类:租房图片、售房图片 这两个表用于存储房源图片记录,一个房源对应多个图片,两个表的差别就在于一个业务关联字段。 租房图片中的RentID记录这个图片属于哪个租房信息; 售房图片中的S... 阅读全文
posted @ 2012-04-27 09:57 大石头 阅读 (1927) 评论 (7) 编辑
摘要:NewLife.XCode是一个数据映射框架,包括但大于ORM的范围。XCode意为未知的代码的意思,是整个X系列组件很重要的一员。实际项目开发,会根据项目类型不同,应用场合不同,由多个不同的组件配合发力,这就导致了几乎无法发现XCode在其中的用处,而XCode的学习,也就无从做起。按某朋友的说法:“想看看这个页面怎么工作,结果页面后面一行代码也没有,深入一点发现全是接口!” 阅读全文
posted @ 2012-02-27 00:29 大石头 阅读 (6076) 评论 (15) 编辑
摘要:数据映射组件XCode优势 XCode是一个超越了ORM范围的映射组件,除了对象到关系数据库的映射外,还有到网络和其它二进制形式等的映射,所以称之为数据映射组件。 相对于国内外其它ORM,XCod... 阅读全文
posted @ 2012-02-27 00:14 大石头 阅读 (2415) 评论 (2) 编辑
摘要:昨晚做了一个梦,很长!梦到回到大学时代,我跟很多一样年纪的人,“潜入”(抱歉,实在没有更好的词)清华大学计算机系。并且我们这些冒牌跟正规清华学生一起上课。后来因为“潜入”的人实在太多,是正规生的两三... 阅读全文
posted @ 2011-11-12 22:29 大石头 阅读 (777) 评论 (14) 编辑
共 4 页: 上一页 1 2 3 4 下一页