打印

关于STM8汇编的头文件问题请教

[复制链接]
2680|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
牧野流|  楼主 | 2009-5-11 19:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在准备将STtool/asm/include中的“STM8S207R.asm”改装成我需要的头文件(增加一些寄存器位定义等),操作是有几个问题需要请教一下。

1、第一行就是“ST7/”,请问这个是不是要改成“STM8/”?如果完全去掉是否可以?

2、接下来的定义是“segment byte at 0-7F 'periph'”,但是在STM8中该区域应该是用户的普通RAM区啊,为什么给强行定义了?是否可以删除该句?

3、控制寄存器定义是否一定前缀带点啊?如“.PA_ODR”。
   那我在RAM区普通定义(给一个地址命名)的话,是否也一定要带点呢?位定义呢?

4、在STtool/asm/asmdemo中的一个样例文件有如下一句话:

    .NOLIST
    #INCLUDE "ST72311N4.inc"
    .LIST

为什么不引用“ST72311N4.asm”呢?能否解释一下上面三句话是什么意思啊?

谢谢!

沙发
8bit_mcu| | 2009-5-12 09:51 | 只看该作者

re

我现在准备将STtool/asm/include中的“STM8S207R.asm”改装成我需要的头文件(增加一些寄存器位定义等),操作是有几个问题需要请教一下。


1、第一行就是“ST7/”,请问这个是不是要改成“STM8/”?如果完全去掉是否可以?

如果你在创建项目的时候就是选的STM8的,那么自动创建的那个main的第一行就是STM8/,这是不能去掉的。
******************************************************************
2、接下来的定义是“segment byte at 0-7F 'periph'”,但是在STM8中该区域应该是用户的普通RAM区啊,为什么给强行定义了?是否可以删除该句?

因为你创建项目时选的芯片不对,所以给出的段定义不同。
*******************************************************

3、控制寄存器定义是否一定前缀带点啊?如“.PA_ODR”。
   那我在RAM区普通定义(给一个地址命名)的话,是否也一定要带点呢?位定义呢?
建议你去看一下手册在开始编程
***************************************

4、在STtool/asm/asmdemo中的一个样例文件有如下一句话:

    .NOLIST
    #INCLUDE "ST72311N4.inc"
    .LIST

为什么不引用“ST72311N4.asm”呢?能否解释一下上面三句话是什么意思啊?

在创建完项目后,你只需要把STTOOL中的STM8S20x.asm和.inc分别添加到source和include文件夹下面就可以了。
******************************************************************

使用特权

评论回复
板凳
牧野流|  楼主 | 2009-5-12 13:42 | 只看该作者

谢谢

我准备开玩了,呵呵...

使用特权

评论回复
地板
shanweichao| | 2010-10-5 20:57 | 只看该作者
参考资料stm8s103f3.zip (218.13 KB)

使用特权

评论回复
5
shanweichao| | 2010-10-5 20:59 | 只看该作者
上面忘了些注释,这是STM8S103F的 ,,算是一个自定义的模板,里面包含了自定义的头文件和中断向量。希望对大家有所帮助。第一次上传。希望大家喜欢。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

35

帖子

1

粉丝