New LIS331DL driver and VSN updates from Uros
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3457 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
d99e391d4a
commit
9009f4ca68
@ -211,8 +211,8 @@ defconfig -- This is a configuration file similar to the Linux
|
||||
options configure the make system build a extra link object. This link object
|
||||
is assumed to be an incremental (relative) link object, but could be a static
|
||||
library (archive) (some modification to this Makefile would be required if
|
||||
CONFIG_PASS1_OBJECT is an archive). Pass 1 1ncremental (relative) link objects
|
||||
should be put into the processor-specific source directory (where other
|
||||
CONFIG_PASS1_TARGET generates an archive). Pass 1 1ncremental (relative) link
|
||||
objects should be put into the processor-specific source directory (where other
|
||||
link objects will be created). If the pass1 obect is an archive, it could
|
||||
go anywhere.
|
||||
|
||||
@ -220,12 +220,18 @@ defconfig -- This is a configuration file similar to the Linux
|
||||
|
||||
When the two pass build option is enabled, the following also apply:
|
||||
|
||||
CONFIG_PASS1_OBJECT - The name of the first pass object.
|
||||
CONFIG_PASS1_TARGET - The name of the first pass build target. This
|
||||
can be specific build target, a special build target (all, default, etc.)
|
||||
or may just be left undefined.
|
||||
CONFIG_PASS1_BUILDIR - The path, relative to the top NuttX build
|
||||
directory to directory that contains the Makefile to build the
|
||||
first pass object. The Makefile must support the following targets:
|
||||
- The special target arch/$(CONFIG_ARCH)/src/$(CONFIG_PASS1_OBJECT)
|
||||
- The special target CONFIG_PASS1_TARGET (if defined)
|
||||
- and the usual depend, clean, and distclean targets.
|
||||
CONFIG_PASS1_OBJECT - May be used to include an extra, pass1 object
|
||||
into the final link. This would probably be the object generated
|
||||
from the CONFIG_PASS1_TARGET. It may be available at link time
|
||||
in the arch/<architecture>/src directory.
|
||||
|
||||
General OS setup
|
||||
|
||||
|
@ -189,7 +189,8 @@ CONFIG_HAVE_LIBM=n
|
||||
#
|
||||
CONFIG_BUILD_2PASS=n
|
||||
CONFIG_PASS1_BUILDIR=configs/demo9s12ne64/initrel
|
||||
CONFIG_PASS1_OBJECT=init.r
|
||||
CONFIG_PASS1_TARGET=init.r
|
||||
CONFIG_PASS1_OBJECT=
|
||||
|
||||
#
|
||||
# General OS setup
|
||||
|
@ -77,7 +77,7 @@ PASS1_LIBGCC = "${shell $(CC) -print-libgcc-file-name}"
|
||||
|
||||
# Targets:
|
||||
|
||||
all: locked.r
|
||||
all: $(PASS1_SRCDIR)/locked.r
|
||||
|
||||
.PHONY: depend clean distclean
|
||||
|
||||
|
@ -203,6 +203,7 @@ CONFIG_HAVE_LIBM=n
|
||||
#
|
||||
CONFIG_BUILD_2PASS=y
|
||||
CONFIG_PASS1_BUILDIR=configs/ea3131/locked
|
||||
CONFIG_PASS1_TARGET=all
|
||||
CONFIG_PASS1_OBJECT=locked.r
|
||||
|
||||
#
|
||||
|
@ -200,7 +200,8 @@ CONFIG_HAVE_LIBM=n
|
||||
#
|
||||
CONFIG_BUILD_2PASS=n
|
||||
CONFIG_PASS1_BUILDIR=configs/ne64badge/initrel
|
||||
CONFIG_PASS1_OBJECT=init.r
|
||||
CONFIG_PASS1_TARGET=init.r
|
||||
CONFIG_PASS1_OBJECT=
|
||||
|
||||
#
|
||||
# General OS setup
|
||||
|
@ -306,12 +306,25 @@ can be selected as follow:
|
||||
cd -
|
||||
. ./setenv.sh
|
||||
|
||||
Where <subdir> is one of the following:
|
||||
Before sourcing the setenv.sh file above, you should examine it and perform
|
||||
edits as necessary so that BUILDROOT_BIN is the correct path to the directory
|
||||
than holds your toolchain binaries.
|
||||
|
||||
And then build NuttX by simply typing the following. At the conclusion of
|
||||
the make, the nuttx binary will reside in an ELF file called, simply, nuttx.
|
||||
|
||||
make
|
||||
|
||||
The <subdir> that is provided above as an argument to the tools/configure.sh
|
||||
must be is one of the following:
|
||||
|
||||
knsh:
|
||||
This is identical to the nsh configuration below except that NuttX
|
||||
is built as a kernel-mode, monolithic module and the user applications
|
||||
are built separately.
|
||||
are built separately. This build requires a special make command; not
|
||||
just 'make' but make with the following two arguments:
|
||||
|
||||
make pass1 pass2
|
||||
|
||||
nsh:
|
||||
Configures the NuttShell (nsh) located at examples/nsh. The
|
||||
|
@ -67,6 +67,8 @@ all: $(TOPDIR)/nuttx_user.elf $(TOPDIR)/User.map $(BOARD_INCLUDE)/user_map.h
|
||||
|
||||
nuttx_user.elf:
|
||||
@echo "LD: nuttx_user.elf"
|
||||
echo "USER_LDLIBS: $(USER_LDLIBS)"
|
||||
echo "USER_LIBPATHS: $(USER_LIBPATHS)"
|
||||
@$(LD) -o $@ $(USER_LDFLAGS) $(USER_LIBPATHS) --start-group $(USER_LDLIBS) --end-group $(USER_LIBGCC)
|
||||
|
||||
$(TOPDIR)/nuttx_user.elf: nuttx_user.elf
|
||||
|
@ -64,6 +64,7 @@ MEMORY
|
||||
|
||||
OUTPUT_ARCH(arm)
|
||||
ENTRY(user_start)
|
||||
EXTERN(user_start)
|
||||
SECTIONS
|
||||
{
|
||||
.text : {
|
||||
|
@ -117,7 +117,7 @@ LDNXFLATFLAGS = -e main -s 2048
|
||||
|
||||
OBJEXT = .o
|
||||
LIBEXT = .a
|
||||
EXEEXT = .elf
|
||||
EXEEXT =
|
||||
|
||||
ifneq ($(CROSSDEV),arm-elf-)
|
||||
LDFLAGS += -nostartfiles -nodefaultlibs
|
||||
|
@ -212,6 +212,7 @@ CONFIG_HAVE_LIBM=n
|
||||
#
|
||||
CONFIG_BUILD_2PASS=y
|
||||
CONFIG_PASS1_BUILDIR=configs/sam3u-ek/kernel
|
||||
CONFIG_PASS1_TARGET=all
|
||||
CONFIG_PASS1_OBJECT=
|
||||
|
||||
#
|
||||
|
@ -1,6 +1,6 @@
|
||||
unsigned char romfs_img[] = {
|
||||
0x2d, 0x72, 0x6f, 0x6d, 0x31, 0x66, 0x73, 0x2d, 0x00, 0x00, 0x02, 0x10,
|
||||
0x85, 0xc5, 0xa3, 0x6a, 0x4e, 0x53, 0x48, 0x49, 0x6e, 0x69, 0x74, 0x56,
|
||||
0x2d, 0x72, 0x6f, 0x6d, 0x31, 0x66, 0x73, 0x2d, 0x00, 0x00, 0x02, 0x00,
|
||||
0x95, 0x7e, 0x5e, 0x1a, 0x4e, 0x53, 0x48, 0x49, 0x6e, 0x69, 0x74, 0x56,
|
||||
0x6f, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0xd1, 0xff, 0xff, 0x97,
|
||||
0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
@ -15,12 +15,12 @@ unsigned char romfs_img[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x60,
|
||||
0x00, 0x00, 0x00, 0x00, 0xd1, 0xff, 0xfe, 0xe0, 0x2e, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30,
|
||||
0x8d, 0x9c, 0xab, 0xc6, 0x72, 0x63, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1c,
|
||||
0x8d, 0x9c, 0xab, 0xda, 0x72, 0x63, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x63, 0x68, 0x6f,
|
||||
0x20, 0x22, 0x56, 0x53, 0x4e, 0x20, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x20,
|
||||
0x31, 0x2e, 0x32, 0x2c, 0x20, 0x77, 0x77, 0x77, 0x2e, 0x6e, 0x65, 0x74,
|
||||
0x63, 0x6c, 0x61, 0x6d, 0x70, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x0a,
|
||||
0x20, 0x22, 0x56, 0x53, 0x4e, 0x20, 0x4e, 0x75, 0x74, 0x74, 0x58, 0x20,
|
||||
0x36, 0x2e, 0x31, 0x2c, 0x20, 0x77, 0x77, 0x77, 0x2e, 0x6e, 0x65, 0x74,
|
||||
0x43, 0x6c, 0x61, 0x6d, 0x70, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x0a,
|
||||
0x0a, 0x23, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20,
|
||||
0x52, 0x41, 0x4d, 0x44, 0x49, 0x53, 0x4b, 0x20, 0x61, 0x6e, 0x64, 0x20,
|
||||
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x69, 0x74, 0x20, 0x61, 0x74, 0x20,
|
||||
@ -30,19 +30,19 @@ unsigned char romfs_img[] = {
|
||||
0x64, 0x65, 0x76, 0x2f, 0x72, 0x61, 0x6d, 0x31, 0x0a, 0x23, 0x6d, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x20, 0x2d, 0x74, 0x20, 0x76, 0x66, 0x61, 0x74, 0x20,
|
||||
0x2f, 0x64, 0x65, 0x76, 0x2f, 0x72, 0x61, 0x6d, 0x31, 0x20, 0x2f, 0x74,
|
||||
0x6d, 0x70, 0x0a, 0x0a, 0x65, 0x63, 0x68, 0x6f, 0x20, 0x22, 0x4d, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x46, 0x52, 0x41, 0x4d, 0x20,
|
||||
0x74, 0x6f, 0x20, 0x2f, 0x75, 0x73, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20,
|
||||
0x53, 0x44, 0x63, 0x61, 0x72, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x2f, 0x73,
|
||||
0x64, 0x63, 0x61, 0x72, 0x64, 0x22, 0x0a, 0x0a, 0x72, 0x61, 0x6d, 0x74,
|
||||
0x72, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x33, 0x0a,
|
||||
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2d, 0x74, 0x20, 0x76, 0x66, 0x61,
|
||||
0x74, 0x20, 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x6d, 0x74, 0x64, 0x62, 0x6c,
|
||||
0x6f, 0x63, 0x6b, 0x30, 0x20, 0x2f, 0x75, 0x73, 0x72, 0x0a, 0x0a, 0x73,
|
||||
0x64, 0x63, 0x61, 0x72, 0x64, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20,
|
||||
0x30, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2d, 0x74, 0x20, 0x76,
|
||||
0x66, 0x61, 0x74, 0x20, 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x6d, 0x6d, 0x63,
|
||||
0x73, 0x64, 0x30, 0x20, 0x2f, 0x73, 0x64, 0x63, 0x61, 0x72, 0x64, 0x0a,
|
||||
0x6d, 0x70, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2d, 0x74,
|
||||
0x20, 0x62, 0x69, 0x6e, 0x66, 0x73, 0x20, 0x2f, 0x64, 0x65, 0x76, 0x2f,
|
||||
0x72, 0x61, 0x6d, 0x30, 0x20, 0x2f, 0x73, 0x62, 0x69, 0x6e, 0x0a, 0x0a,
|
||||
0x72, 0x61, 0x6d, 0x74, 0x72, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72,
|
||||
0x74, 0x20, 0x33, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2d, 0x74,
|
||||
0x20, 0x76, 0x66, 0x61, 0x74, 0x20, 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x6d,
|
||||
0x74, 0x64, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x30, 0x20, 0x2f, 0x75, 0x73,
|
||||
0x72, 0x0a, 0x0a, 0x73, 0x64, 0x63, 0x61, 0x72, 0x64, 0x20, 0x73, 0x74,
|
||||
0x61, 0x72, 0x74, 0x20, 0x30, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20,
|
||||
0x2d, 0x74, 0x20, 0x76, 0x66, 0x61, 0x74, 0x20, 0x2f, 0x64, 0x65, 0x76,
|
||||
0x2f, 0x6d, 0x6d, 0x63, 0x73, 0x64, 0x30, 0x20, 0x2f, 0x73, 0x64, 0x63,
|
||||
0x61, 0x72, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
|
@ -1,11 +1,11 @@
|
||||
echo "VSN Board 1.2, www.netclamps.com"
|
||||
echo "VSN NuttX 6.1, www.netClamps.com"
|
||||
|
||||
# Create a RAMDISK and mount it at XXXRDMOUNTPOUNTXXX
|
||||
#mkrd -m XXXMKRDMINORXXX -s XXMKRDSECTORSIZEXXX XXMKRDBLOCKSXXX
|
||||
#mkfatfs /dev/ramXXXMKRDMINORXXX
|
||||
#mount -t vfat /dev/ramXXXMKRDMINORXXX XXXRDMOUNTPOUNTXXX
|
||||
|
||||
echo "Mounting FRAM to /usr and SDcard to /sdcard"
|
||||
mount -t binfs /dev/ram0 /sbin
|
||||
|
||||
ramtron start 3
|
||||
mount -t vfat /dev/mtdblock0 /usr
|
||||
|
@ -145,7 +145,7 @@ CONFIG_STM32_FSMC=n
|
||||
CONFIG_STM32_SDIO=y
|
||||
# APB1:
|
||||
CONFIG_STM32_TIM2=n
|
||||
CONFIG_STM32_TIM3=n
|
||||
CONFIG_STM32_TIM3=y
|
||||
CONFIG_STM32_TIM4=n
|
||||
CONFIG_STM32_TIM5=n
|
||||
CONFIG_STM32_TIM6=n
|
||||
@ -157,8 +157,8 @@ CONFIG_STM32_USART2=n
|
||||
CONFIG_STM32_USART3=n
|
||||
CONFIG_STM32_UART4=n
|
||||
CONFIG_STM32_UART5=n
|
||||
CONFIG_STM32_I2C1=n
|
||||
CONFIG_STM32_I2C2=n
|
||||
CONFIG_STM32_I2C1=y
|
||||
CONFIG_STM32_I2C2=y
|
||||
CONFIG_STM32_USB=n
|
||||
CONFIG_STM32_CAN=n
|
||||
CONFIG_STM32_BKP=n
|
||||
@ -169,7 +169,7 @@ CONFIG_STM32_ADC1=n
|
||||
CONFIG_STM32_ADC2=n
|
||||
CONFIG_STM32_TIM1=n
|
||||
CONFIG_STM32_SPI1=n
|
||||
CONFIG_STM32_TIM8=n
|
||||
CONFIG_STM32_TIM8=y
|
||||
CONFIG_STM32_USART1=y
|
||||
CONFIG_STM32_ADC3=n
|
||||
|
||||
@ -248,6 +248,11 @@ CONFIG_SSI1_DISABLE=y
|
||||
CONFIG_SSI_POLLWAIT=y
|
||||
#CONFIG_SSI_TXLIMIT=4
|
||||
|
||||
#
|
||||
# OS support for I2C
|
||||
#
|
||||
CONFIG_I2C=y
|
||||
|
||||
#
|
||||
# General build options
|
||||
#
|
||||
|
@ -70,7 +70,7 @@
|
||||
|
||||
#include <nuttx/config.h>
|
||||
#include <nuttx/fs.h>
|
||||
#include <nuttx/i2c.h>
|
||||
#include <nuttx/i2c/i2c.h>
|
||||
#include <semaphore.h>
|
||||
|
||||
#include <stdio.h>
|
||||
@ -80,6 +80,7 @@
|
||||
#include <errno.h>
|
||||
|
||||
#include "vsn.h"
|
||||
#include <nuttx/i2c/st_lis331dl.h>
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
@ -272,23 +273,6 @@ int sif_gpios_unlock(vsn_sif_state_t peripheral)
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* ST LIS331DL
|
||||
****************************************************************************/
|
||||
|
||||
void st_lis331dl_open(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void st_lis331dl_config(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void st_lis331dl_getreadings(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
@ -518,7 +502,32 @@ int sif_main(int argc, char *argv[])
|
||||
STM32_TIM_SETCOMPARE(vsn_sif.tim8, GPIO_OUT_PWRPWM_TIM8_CH, val);
|
||||
return 0;
|
||||
}
|
||||
else if (!strcmp(argv[1], "c")) {
|
||||
else if (!strcmp(argv[1], "i2c") && argc == 3) {
|
||||
int val = atoi(argv[2]);
|
||||
struct st_lis331dl_dev_s * lis = st_lis331dl_init(vsn_sif.i2c1, val);
|
||||
|
||||
if (lis) {
|
||||
struct st_lis331dl_vector_s * a;
|
||||
int i;
|
||||
|
||||
/* Sample some values */
|
||||
|
||||
for (i=0; i<20; i++) {
|
||||
if ( (a = st_lis331dl_getreadings(lis)) )
|
||||
printf("%d %d %d\n", a->x, a->y, a->z);
|
||||
else {
|
||||
printf("Readings errno %d\n", errno);
|
||||
break;
|
||||
}
|
||||
fflush(stdout);
|
||||
usleep(100000);
|
||||
}
|
||||
|
||||
st_lis331dl_deinit(lis);
|
||||
}
|
||||
else printf("Exit point: errno=%d\n", errno);
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user