Skip to content

Commit

Permalink
projects:ad719x_iio:Adding STM32 Support
Browse files Browse the repository at this point in the history
1. Added STM32 Platform Support to AD719x family.
2. Updated documentation to include stm32 support

Signed-off-by: Disha D <[email protected]>
  • Loading branch information
D-Disha authored and SaikiranGudla committed Oct 9, 2024
1 parent 7d6a75f commit 6cf8618
Show file tree
Hide file tree
Showing 15 changed files with 626 additions and 47 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 7 additions & 2 deletions doc/sphinx/source/projects/ad719x_iio/ad719x_iio.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ This page gives an overview of using the ARM platforms supported (default is Mbe
firmware example with Analog Devices AD719x Evaluation board and SDP-K1 controller board.
This example code leverages the ADI developed IIO (Industrial Input Output) ecosystem to
evaluate the AD719x device by providing a device debug and data capture support.
The code provides support to MBED and STM32 platforms.

The respective build guides for each of the platforms
can be found in the further sections. The active platform can be chosen by selecting the appropriate
value for the ACTIVE_PLATFORM macro in the app_config.h (Default is mbed)

.. image:: /source/tinyiiod/app_interface.png
:width: 350
Expand All @@ -52,11 +57,11 @@ to communicates with IIO device.
Hardware Connections
====================

Required: SDP-K1 (or alternative Mbed enabled controller board), EVAL-AD719x board
Required: SDP-K1 (or alternative Mbed enabled controller board, or an STM32 board), EVAL-AD719x board
and USB cable.

Connect the EVAL-AD719x board to SDP-K1 board (or any other Mbed enabled controller
board) using jumper wires. Connect SDP-K1 board to the PC using the USB cable.
board or an equivalent STM32 board) using jumper wires. Connect SDP-K1 board to the PC using the USB cable.


.. image:: /source/projects/ad719x_iio/ad719x_hardware_connection.png
Expand Down
4 changes: 4 additions & 0 deletions projects/ad719x_iio/.mbedignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
STM32/
app/app_config_stm32.h
app/app_config_stm32.c
app/stm32_gpio_irq_generated.c
39 changes: 0 additions & 39 deletions projects/ad719x_iio/README.txt

This file was deleted.

26 changes: 26 additions & 0 deletions projects/ad719x_iio/STM32/.extSettings
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[ProjectFiles]
HeaderPath=../app;../../../libraries/no-OS/util;../../../libraries/no-OS/include;../../../libraries/no-OS/drivers/platform/stm32;../../../libraries/no-OS/iio;../../../libraries/no-OS/drivers/api;../../../libraries/precision-converters-library/board_info/;../../../libraries/precision-converters-library/common/;../../../libraries/no-OS/drivers/eeprom/24xx32a/;../../../libraries/no-OS/drivers/adc/ad719x/;../../../libraries/precision-converters-library/sdp_k1_sdram/;

[Groups]
app/=../app/main.c;../app/main.c;../app/ad719x_iio.c;../app/ad719x_iio.h;../app/ad719x_support.c;../app/ad719x_support.h;../app/app_config.h;../app/app_config.c;../app/app_config_stm32.c;../app/app_config_stm32.h;../app/stm32_gpio_irq_generated.c;../app/ad719x_user_config.c;../app/ad719x_user_config.h;

app/libraries/precision-converters-library/board_info/=../../../libraries/precision-converters-library/board_info/board_info.c;../../../libraries/precision-converters-library/board_info/board_info.h;

app/libraries/precision-converters-library/common/=../../../libraries/precision-converters-library/common/common.h;../../../libraries/precision-converters-library/common/common.c;

app/libraries/no-OS/=../../../libraries/no-OS/util/;../../../libraries/no-OS/include;

app/libraries/precision-converters-library/sdp_k1_sdram/=../../../libraries/precision-converters-library/sdp_k1_sdram/sdp_k1_sdram.c;../../../libraries/precision-converters-library/sdp_k1_sdram/sdp_k1_sdram.h;

app/libraries/no-OS/drivers/eeprom/24xx32a/=../../../libraries/no-OS/drivers/eeprom/24xx32a/24xx32a.c;../../../libraries/no-OS/drivers/eeprom/24xx32a/24xx32a.h;

app/libraries/no-OS/drivers/adc/ad719x/=../../../libraries/no-OS/drivers/adc/ad719x/ad719x.c;../../../libraries/no-OS/drivers/adc/ad719x/ad719x.h;

app/libraries/no-OS/drivers/platform/stm32/=../../../libraries/no-OS/drivers/platform/stm32/stm32_delay.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_gpio.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_gpio.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_gpio_irq.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_gpio_irq.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_spi.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_spi.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_i2c.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_i2c.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_uart.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_uart.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_delay.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_irq.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_irq.c;

app/libraries/no-OS/iio/=../../../libraries/no-OS/iio/iio.c;../../../libraries/no-OS/iio/iio.h;../../../libraries/no-OS/iio/iiod.h;../../../libraries/no-OS/iio/iiod.c;../../../libraries/no-OS/iio/iio_trigger.c;../../../libraries/no-OS/iio/iio_types.h;../../../libraries/no-OS/iio/iio_trigger.h;

app/libraries/no-OS/drivers/api/=../../../libraries/no-OS/drivers/api/no_os_gpio.c;../../../libraries/no-OS/drivers/api/no_os_spi.c;../../../libraries/no-OS/drivers/api/no_os_irq.c;../../../libraries/no-OS/drivers/api/no_os_i2c.c;../../../libraries/no-OS/drivers/api/no_os_eeprom.c;../../../libraries/no-OS/drivers/api/no_os_uart.c;../../../libraries/no-OS/drivers/api/no_os_dma.c;

[Others]
Define=_USE_STD_INT_TYPES;TINYIIOD_VERSION_MAJOR;TINYIIOD_VERSION_MINOR;TINYIIOD_VERSION_GIT;IIOD_BUFFER_SIZE;IIO_IGNORE_BUFF_OVERRUN_ERR;USE_PHY_COM_PORT;NO_OS_VERSION;USE_STANDARD_SPI;TARGET_SDP_K1
270 changes: 270 additions & 0 deletions projects/ad719x_iio/STM32/ad719x_iio.ioc
Original file line number Diff line number Diff line change
@@ -0,0 +1,270 @@
#MicroXplorer Configuration settings - do not modify
CAD.formats=
CAD.pinconfig=
CAD.provider=
File.Version=6
GPIO.groupedBy=Group By Peripherals
KeepUserPlacement=false
Mcu.CPN=STM32F469NIH6
Mcu.Family=STM32F4
Mcu.IP0=FMC
Mcu.IP1=I2C1
Mcu.IP2=NVIC
Mcu.IP3=RCC
Mcu.IP4=SPI1
Mcu.IP5=SYS
Mcu.IP6=UART5
Mcu.IPNb=7
Mcu.Name=STM32F469NIHx
Mcu.Package=TFBGA216
Mcu.Pin0=PB8
Mcu.Pin1=PB4
Mcu.Pin10=PF0
Mcu.Pin11=PG9
Mcu.Pin12=PD2
Mcu.Pin13=PF1
Mcu.Pin14=PH0/OSC_IN
Mcu.Pin15=PF2
Mcu.Pin16=PH1/OSC_OUT
Mcu.Pin17=PF3
Mcu.Pin18=PG8
Mcu.Pin19=PF4
Mcu.Pin2=PB3
Mcu.Pin20=PH5
Mcu.Pin21=PH3
Mcu.Pin22=PF5
Mcu.Pin23=PH2
Mcu.Pin24=PD15
Mcu.Pin25=PD14
Mcu.Pin26=PF12
Mcu.Pin27=PF15
Mcu.Pin28=PF13
Mcu.Pin29=PG0
Mcu.Pin3=PC12
Mcu.Pin30=PE8
Mcu.Pin31=PG5
Mcu.Pin32=PG4
Mcu.Pin33=PF14
Mcu.Pin34=PF11
Mcu.Pin35=PE9
Mcu.Pin36=PA7
Mcu.Pin37=PE7
Mcu.Pin38=PE10
Mcu.Pin39=VP_SYS_VS_Systick
Mcu.Pin4=PA15
Mcu.Pin5=PB7
Mcu.Pin6=PG15
Mcu.Pin7=PG11
Mcu.Pin8=PD0
Mcu.Pin9=PD1
Mcu.PinsNb=40
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F469NIHx
MxCube.Version=6.11.1
MxDb.Version=DB.6.0.111
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.EXTI15_10_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:false
NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
NVIC.UART5_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
PA15.Locked=true
PA15.Signal=GPIO_Output
PA7.Locked=true
PA7.Mode=Full_Duplex_Master
PA7.Signal=SPI1_MOSI
PB3.Mode=Full_Duplex_Master
PB3.Signal=SPI1_SCK
PB4.Mode=Full_Duplex_Master
PB4.Signal=SPI1_MISO
PB7.Locked=true
PB7.Mode=I2C
PB7.Signal=I2C1_SDA
PB8.Mode=I2C
PB8.Signal=I2C1_SCL
PC12.Mode=Asynchronous
PC12.Signal=UART5_TX
PD0.Signal=FMC_D2_DA2
PD1.Signal=FMC_D3_DA3
PD14.Signal=FMC_D0_DA0
PD15.Signal=FMC_D1_DA1
PD2.Mode=Asynchronous
PD2.Signal=UART5_RX
PE10.Signal=FMC_D7_DA7
PE7.Signal=FMC_D4_DA4
PE8.Signal=FMC_D5_DA5
PE9.Signal=FMC_D6_DA6
PF0.Signal=FMC_A0
PF1.Signal=FMC_A1
PF11.Signal=FMC_SDNRAS
PF12.Signal=FMC_A6
PF13.Signal=FMC_A7
PF14.Signal=FMC_A8
PF15.Signal=FMC_A9
PF2.Signal=FMC_A2
PF3.Signal=FMC_A3
PF4.Signal=FMC_A4
PF5.Signal=FMC_A5
PG0.Signal=FMC_A10
PG11.Locked=true
PG11.Signal=GPXTI11
PG15.Signal=FMC_SDNCAS
PG4.Signal=FMC_A14_BA0
PG5.Signal=FMC_A15_BA1
PG8.Signal=FMC_SDCLK
PG9.Locked=true
PG9.Signal=GPIO_Output
PH0/OSC_IN.Mode=HSE-External-Oscillator
PH0/OSC_IN.Signal=RCC_OSC_IN
PH1/OSC_OUT.Mode=HSE-External-Oscillator
PH1/OSC_OUT.Signal=RCC_OSC_OUT
PH2.Mode=SdramChipSelect1_1
PH2.Signal=FMC_SDCKE0
PH3.Mode=SdramChipSelect1_1
PH3.Signal=FMC_SDNE0
PH5.Signal=FMC_SDNWE
PinOutPanel.CurrentBGAView=Top
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
ProjectManager.CompilerOptimize=6
ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=false
ProjectManager.CustomerFirmwarePackage=
ProjectManager.DefaultFWLocation=true
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32F469NIHx
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.28.0
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x200
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LibraryCopy=1
ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=true
ProjectManager.PreviousToolchain=STM32CubeIDE
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=ad719x_iio.ioc
ProjectManager.ProjectName=ad719x_iio
ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=I2C,SPI,UART
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-false,3-MX_I2C1_Init-I2C1-false-HAL-false,4-MX_SPI1_Init-SPI1-false-HAL-false,5-MX_UART5_Init-UART5-false-HAL-false,false-6-MX_FMC_Init-FMC-false-HAL-false
RCC.AHBFreq_Value=50000000
RCC.APB1CLKDivider=RCC_HCLK_DIV2
RCC.APB1Freq_Value=25000000
RCC.APB1TimFreq_Value=50000000
RCC.APB2Freq_Value=50000000
RCC.APB2TimFreq_Value=50000000
RCC.CortexFreq_Value=50000000
RCC.DSIFreq_Value=62500000
RCC.DSITXEscFreq_Value=15625000
RCC.EthernetFreq_Value=50000000
RCC.FCLKCortexFreq_Value=50000000
RCC.FamilyName=M
RCC.HCLKFreq_Value=50000000
RCC.I2SFreq_Value=192000000
RCC.IPParameters=AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,DSIFreq_Value,DSITXEscFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,I2SFreq_Value,LCDTFTFreq_Value,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLDSIVCOFreq_Value,PLLI2SQCLKFreq_Value,PLLI2SRCLKFreq_Value,PLLM,PLLN,PLLQCLKFreq_Value,PLLRCLKFreq_Value,PLLRFreq_Value,PLLSAIPCLKFreq_Value,PLLSAIQCLKFreq_Value,PLLSAIRCLKFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SAIAFreq_Value,SAIBFreq_Value,SDIOFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USBFreq_Value,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value
RCC.LCDTFTFreq_Value=96000000
RCC.MCO2PinFreq_Value=50000000
RCC.PLLCLKFreq_Value=50000000
RCC.PLLDSIVCOFreq_Value=1000000000
RCC.PLLI2SQCLKFreq_Value=96000000
RCC.PLLI2SRCLKFreq_Value=192000000
RCC.PLLM=8
RCC.PLLN=50
RCC.PLLQCLKFreq_Value=25000000
RCC.PLLRCLKFreq_Value=50000000
RCC.PLLRFreq_Value=50000000
RCC.PLLSAIPCLKFreq_Value=192000000
RCC.PLLSAIQCLKFreq_Value=96000000
RCC.PLLSAIRCLKFreq_Value=192000000
RCC.RTCFreq_Value=32000
RCC.RTCHSEDivFreq_Value=12500000
RCC.SAIAFreq_Value=96000000
RCC.SAIBFreq_Value=96000000
RCC.SDIOFreq_Value=25000000
RCC.SYSCLKFreq_VALUE=50000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
RCC.USBFreq_Value=25000000
RCC.VCOI2SOutputFreq_Value=384000000
RCC.VCOInputFreq_Value=2000000
RCC.VCOOutputFreq_Value=100000000
RCC.VCOSAIOutputFreq_Value=384000000
SH.FMC_A0.0=FMC_A0,11b-sda1
SH.FMC_A0.ConfNb=1
SH.FMC_A1.0=FMC_A1,11b-sda1
SH.FMC_A1.ConfNb=1
SH.FMC_A10.0=FMC_A10,11b-sda1
SH.FMC_A10.ConfNb=1
SH.FMC_A14_BA0.0=FMC_BA0,FourSdramBanks1
SH.FMC_A14_BA0.ConfNb=1
SH.FMC_A15_BA1.0=FMC_BA1,FourSdramBanks1
SH.FMC_A15_BA1.ConfNb=1
SH.FMC_A2.0=FMC_A2,11b-sda1
SH.FMC_A2.ConfNb=1
SH.FMC_A3.0=FMC_A3,11b-sda1
SH.FMC_A3.ConfNb=1
SH.FMC_A4.0=FMC_A4,11b-sda1
SH.FMC_A4.ConfNb=1
SH.FMC_A5.0=FMC_A5,11b-sda1
SH.FMC_A5.ConfNb=1
SH.FMC_A6.0=FMC_A6,11b-sda1
SH.FMC_A6.ConfNb=1
SH.FMC_A7.0=FMC_A7,11b-sda1
SH.FMC_A7.ConfNb=1
SH.FMC_A8.0=FMC_A8,11b-sda1
SH.FMC_A8.ConfNb=1
SH.FMC_A9.0=FMC_A9,11b-sda1
SH.FMC_A9.ConfNb=1
SH.FMC_D0_DA0.0=FMC_D0,sd-8b-d1
SH.FMC_D0_DA0.ConfNb=1
SH.FMC_D1_DA1.0=FMC_D1,sd-8b-d1
SH.FMC_D1_DA1.ConfNb=1
SH.FMC_D2_DA2.0=FMC_D2,sd-8b-d1
SH.FMC_D2_DA2.ConfNb=1
SH.FMC_D3_DA3.0=FMC_D3,sd-8b-d1
SH.FMC_D3_DA3.ConfNb=1
SH.FMC_D4_DA4.0=FMC_D4,sd-8b-d1
SH.FMC_D4_DA4.ConfNb=1
SH.FMC_D5_DA5.0=FMC_D5,sd-8b-d1
SH.FMC_D5_DA5.ConfNb=1
SH.FMC_D6_DA6.0=FMC_D6,sd-8b-d1
SH.FMC_D6_DA6.ConfNb=1
SH.FMC_D7_DA7.0=FMC_D7,sd-8b-d1
SH.FMC_D7_DA7.ConfNb=1
SH.FMC_SDCLK.0=FMC_SDCLK,11b-sda1
SH.FMC_SDCLK.ConfNb=1
SH.FMC_SDNCAS.0=FMC_SDNCAS,11b-sda1
SH.FMC_SDNCAS.ConfNb=1
SH.FMC_SDNRAS.0=FMC_SDNRAS,11b-sda1
SH.FMC_SDNRAS.ConfNb=1
SH.FMC_SDNWE.0=FMC_SDNWE,11b-sda1
SH.FMC_SDNWE.ConfNb=1
SH.GPXTI11.0=GPIO_EXTI11
SH.GPXTI11.ConfNb=1
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
SPI1.CalculateBaudRate=25.0 MBits/s
SPI1.Direction=SPI_DIRECTION_2LINES
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler
SPI1.Mode=SPI_MODE_MASTER
SPI1.VirtualType=VM_MASTER
UART5.IPParameters=VirtualMode
UART5.VirtualMode=Asynchronous
VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
board=custom
Loading

0 comments on commit 6cf8618

Please sign in to comment.