关于Atmega128的avr开发板的系统初始化

rudyfly 2011-08-29 08:37:11
小弟现在在学习avr的单片机,是Atmega128型号的开发板,但是小弟看的书和一些示例程序,都是直接进入C的Main函数的了,都没有系统初始化的代码,用icc编译的时候说一些库文件没有,小弟想找一些关于系统初始化的代码,比如一开始进去C语言的汇编代码,网上找了好久都没有,哪位大侠能发给我一些这样的代码,一些初始化的汇编代码和头文件,小弟万分感激。
邮箱:rudyfly@163.com
谢谢。
...全文
255 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjtea 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 rudyfly 的回复:]
引用 6 楼 floodever 的回复:

你说的是启动文件汇编代码吧,编译工程里是有的,要看懂的话需要看编译器手册逐条理解就好了。
关键还是做个工程,跑起来,慢慢去理解汇编,当然一般还有各链接文件也比较关键,从现象到本质么。

对对对,我就是想学习这个,但是我不知道哪里有?
[/Quote]
开发板的资源情况未知,开发商也许做了点初始化的工作,但是这些都不难,甚至简单。
一般使用AVR单片机都是使用裸机,例如MEGA16/32等,所有的初始化都是在main()之后做的;做法就是根据硬件设计的情况,按照CPU手册写寄存器的初始化,20行左右就搞定了。完全不涉及汇编。
rudyfly 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 floodever 的回复:]

你说的是启动文件汇编代码吧,编译工程里是有的,要看懂的话需要看编译器手册逐条理解就好了。
关键还是做个工程,跑起来,慢慢去理解汇编,当然一般还有各链接文件也比较关键,从现象到本质么。
[/Quote]
对对对,我就是想学习这个,但是我不知道哪里有?
rudyfly 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bjtea 的回复:]

初学的基本诀窍是:
找到安装系统后的DEMO例子目录,先复制一份备份,然后,挨个使用原来的例子练手。
即使自己写新程序文件,也可以充分利用原例子。
例如,利用原来的工程文件,原例子的开始部分(包括包含文件,寄存器定义)等等。
[/Quote]
就是原来的工程例子没有的,不是很多硬件初始化的时候,有一段汇编代码的初始化吗?在哪有找到。
rudyfly 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 techenliu 的回复:]

估计不是用icc库文件没有的缘故,在初次用ICCAVR的时候很多初学者都习惯犯一个错误,那就是没有在ICCAVR环境中设置芯片的型号,导致编译时出现错误。还有一个错误就是没有选择ICCAVR对应的库函数的绝对路径。从你出的错误来看,应该是没有设置编译用到的库的绝对路径,或是设置的路径错误
[/Quote]
不是你说的这个意思,我是想知道在程序进入main函数前,做了哪些工作,比如系统时钟初始化是怎么实现的等等,这样的代码在哪里有找到,我看ICC编译器就直接进入了main函数就可以了。
bjtea 2011-08-30
  • 打赏
  • 举报
回复
初学的基本诀窍是:
找到安装系统后的DEMO例子目录,先复制一份备份,然后,挨个使用原来的例子练手。
即使自己写新程序文件,也可以充分利用原例子。
例如,利用原来的工程文件,原例子的开始部分(包括包含文件,寄存器定义)等等。
floodever 2011-08-30
  • 打赏
  • 举报
回复
你说的是启动文件汇编代码吧,编译工程里是有的,要看懂的话需要看编译器手册逐条理解就好了。
关键还是做个工程,跑起来,慢慢去理解汇编,当然一般还有各链接文件也比较关键,从现象到本质么。
付宇利 2011-08-29
  • 打赏
  • 举报
回复
估计不是用icc库文件没有的缘故,在初次用ICCAVR的时候很多初学者都习惯犯一个错误,那就是没有在ICCAVR环境中设置芯片的型号,导致编译时出现错误。还有一个错误就是没有选择ICCAVR对应的库函数的绝对路径。从你出的错误来看,应该是没有设置编译用到的库的绝对路径,或是设置的路径错误
nandou 2011-08-29
  • 打赏
  • 举报
回复
还是先看看编译器的资料吧。

27,383

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧