- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 终于用到了fflush()
今天遇到一“怪事”: 程序正常输出几千条log信息,能全部输出,但是通过重定向到一个文件中时总是少那么几十条,尝试了输出:2000,3000条结果差不多。 后来小吴告诉我说是行缓冲的问题,果然如此,加上个fflush()就行了。 为什么会遇到这个问题?1. 我们希望实现ISAKMP的椭圆曲线密钥交换,因此需要先实现椭圆曲线的基本运算,即:点+点和点*点。使用了sec的测试数据,
2010-04-26 21:36:00 510
原创 avr的应用程序启动我都做了啥(enrty.S)
avr(at90...)的中断处理函数"注册"流程: head.S中设置了默认中断处理(即:not_defined -> reset),同时注意到,这些位置的标记(symbol)都是弱的(.weak指明),也就是说,可以在程序中替换这些默认中断处理,也就是正常的方式,通过编译器定义好的方式写中断函数就可以了,编译器将我们自定义的中断处理函数做如下处理:1. 保存现场(prologue);
2010-04-23 07:49:00 767 2
原创 avr的应用程序启动我都做了啥(head.S)
由于我们的firmware不希望用到C库,所以链接器脚本和c-runtime都需要自己写,其实也没写,无非就是把C库的拿来改了几行。这没什么好说的,就把avr c-runtime主要做了写啥记录记录: 1. 设置中断向量表(vector),这在datasheet中是有定义的,每款芯片不同,向量个数亦不同,为了做到通用,这里定义了100+的向量,实际上,单独芯片通过定义_VECTORS_SI
2010-04-16 23:02:00 603 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人