OpenCores
URL https://opencores.org/ocsvn/neo430/neo430/trunk

Subversion Repositories neo430

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /neo430/trunk
    from Rev 182 to Rev 183
    Reverse comparison

Rev 182 → Rev 183

/neo430/README.md
19,8 → 19,8
You need a small but still powerful, customizable and microcontroller-like processor system for your next FPGA project?
Then the NEO430 is the right choice for you.
 
This processor is based on the Texas Instruments MSP430(TM) ISA and provides full compatibility with the original
instruction set. The NEO430 is not an MSP430 clone – it is more like a complete new implementation from the bottom up. The
This processor is based on the Texas Instruments MSP430(TM) ISA and provides compatibility with the original
instruction set (see differences below). The NEO430 is not an exact MSP430 clone – it is more like a complete new implementation from the bottom up. The
processor features a very small outline, already implementing standard features like a timer, a watchdog, UART, TWI and SPI
serial interfaces, general purpose IO ports, an internal bootloader and of course internal memory for program code and data.
All of the implemented peripheral modules are optional – so if you do not need them, you can exclude them from synthesis to
89,7 → 89,7
- No hardware debugging interface
- No analog components
- No support of TI's Code Composer Studio
- No default support of CPU's DADD instruction (but can be enabled in package)
- No support of CPU's DADD instruction
- Just 4 CPU interrupt channels
- Single clock domain for complete processor
- Different numbers of instruction execution cycles
103,7 → 103,7
## Implementation Results
 
Mapping results generated for HW version 0x0320. The full (default) hardware configuration includes
all optional processor modules (excluding the CFU, the TRNG and the DADD instruction), an IMEM size of 4kB and a DMEM
all optional processor modules (excluding the CFU and the TRNG), an IMEM size of 4kB and a DMEM
size of 2kB. The minimal configuration only includes the CPU and the GPIO module. Results generated with Xilinx Vivado 2017.3,
Intel Quartus Prime Lite 17.1 and Lattice Radiant 1.1 (Synplify)
 
131,7 → 131,7
numbers only represent a coarse overview as logic elements might be merged and optimized beyond module boundaries.
 
Mapping results generated for HW version 0x0320. The full (default) hardware configuration includes all optional
processor modules (excluding the CFU and DADD instruction but including the TRNG), an IMEM size of 4kB and a DMEM size of
processor modules (excluding the CFU but including the TRNG), an IMEM size of 4kB and a DMEM size of
2kB. Results were generated using Intel Quartus Prime Lite 17.1.
 
| __Intel Cyclone IV (EP4CE22F17C6)__ | LUTs | FFs | Memory Bits | DSPs |
/neo430/doc/NEO430.pdf Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/neo430/rtl/core/neo430_alu.vhd
1,8 → 1,7
-- #################################################################################################
-- # << NEO430 - Arithmetical/Logical Unit >> #
-- # ********************************************************************************************* #
-- # Main data processing ALU and operand registers. #
-- # BCD arithmetic operations need 2 cycles, all other operations only take one cycle. #
-- # Main data processing ALU and operand registers. DADD instruction is not supported! #
-- # ********************************************************************************************* #
-- # This file is part of the NEO430 Processor project: https://github.com/stnolting/neo430 #
-- # Copyright by Stephan Nolting: stnolting@gmail.com #
22,7 → 21,7
-- # You should have received a copy of the GNU Lesser General Public License along with this #
-- # source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
-- # ********************************************************************************************* #
-- # Stephan Nolting, Hannover, Germany 21.11.2019 #
-- # Stephan Nolting, Hannover, Germany 12.02.2020 #
-- #################################################################################################
 
library ieee;
50,16 → 49,15
 
architecture neo430_alu_rtl of neo430_alu is
 
signal op_data : std_ulogic_vector(15 downto 0); -- operand data
signal op_a_ff, op_b_ff : std_ulogic_vector(15 downto 0); -- operand register
signal add_res : std_ulogic_vector(17 downto 0); -- adder/subtractor kernel result
signal dadd_res : std_ulogic_vector(16 downto 0); -- decimal adder kernel result
signal dadd_res_ff : std_ulogic_vector(16 downto 0); -- decimal adder kernel result buffered
signal alu_res : std_ulogic_vector(15 downto 0); -- alu result
signal data_res : std_ulogic_vector(15 downto 0); -- final alu result
signal zero : std_ulogic; -- zero detector
signal negative : std_ulogic; -- sign detector
signal parity : std_ulogic; -- parity detector
signal op_data : std_ulogic_vector(15 downto 0); -- operand data
signal op_a_ff : std_ulogic_vector(15 downto 0); -- operand register A
signal op_b_ff : std_ulogic_vector(15 downto 0); -- operand register B
signal add_res : std_ulogic_vector(17 downto 0); -- adder/subtractor kernel result
signal alu_res : std_ulogic_vector(15 downto 0); -- alu result
signal data_res : std_ulogic_vector(15 downto 0); -- final alu result
signal zero : std_ulogic; -- zero detector
signal negative : std_ulogic; -- sign detector
signal parity : std_ulogic; -- parity detector
 
begin
 
80,8 → 78,6
if (ctrl_i(ctrl_alu_opb_wr_c) = '1') then
op_b_ff <= op_data;
end if;
-- DADD pipeline register --
dadd_res_ff <= dadd_res;
end if;
end process operand_register;
 
142,29 → 138,9
end process binary_arithmetic_core;
 
 
-- Binary Coded Decimal Arithmetic Core -------------------------------------
-- -----------------------------------------------------------------------------
bcd_arithmetic_core: process(op_a_ff, op_b_ff, sreg_i)
variable dsum_ll_v, dsum_lh_v, dsum_hl_v, dsum_hh_v : std_ulogic_vector(4 downto 0);
begin
-- four 4-bit BCD adders --
dsum_ll_v := bcd_add4_f(op_a_ff(03 downto 00), op_b_ff(03 downto 00), sreg_i(sreg_c_c));
dsum_lh_v := bcd_add4_f(op_a_ff(07 downto 04), op_b_ff(07 downto 04), dsum_ll_v(4));
dsum_hl_v := bcd_add4_f(op_a_ff(11 downto 08), op_b_ff(11 downto 08), dsum_lh_v(4));
dsum_hh_v := bcd_add4_f(op_a_ff(15 downto 12), op_b_ff(15 downto 12), dsum_hl_v(4));
 
-- output --
dadd_res(03 downto 00) <= dsum_ll_v(3 downto 0);
dadd_res(07 downto 04) <= dsum_lh_v(3 downto 0);
dadd_res(11 downto 08) <= dsum_hl_v(3 downto 0);
dadd_res(15 downto 12) <= dsum_hh_v(3 downto 0);
dadd_res(16) <= dsum_hh_v(4);
end process bcd_arithmetic_core;
 
 
-- ALU Core -----------------------------------------------------------------
-- -----------------------------------------------------------------------------
alu_core: process(ctrl_i, op_a_ff, op_b_ff, sreg_i, negative, zero, parity, add_res, dadd_res_ff)
alu_core: process(ctrl_i, op_a_ff, op_b_ff, sreg_i, negative, zero, parity, add_res)
begin
-- defaults --
alu_res <= op_a_ff;
186,17 → 162,6
flag_o(flag_c_c) <= add_res(16);
flag_o(flag_v_c) <= add_res(17);
 
when alu_dadd_c => -- r <= a + b + c (decimal)
if (use_dadd_cmd_c = true) then -- implement DADD instruction at all?
alu_res <= dadd_res_ff(15 downto 0);
flag_o(flag_c_c) <= dadd_res_ff(16);
flag_o(flag_v_c) <= '0';
else -- output is undefined when DADD instruction is disabled
alu_res <= (others => '-');
flag_o(flag_c_c) <= '-';
flag_o(flag_v_c) <= '-';
end if;
 
when alu_and_c => -- r <= a & b
alu_res <= op_a_ff and op_b_ff;
flag_o(flag_c_c) <= not zero;
261,16 → 226,32
flag_o(flag_n_c) <= sreg_i(sreg_n_c); -- keep
flag_o(flag_z_c) <= sreg_i(sreg_z_c); -- keep
 
when others => -- alu_mov_c : r <= a
when alu_mov_c => -- r <= a
alu_res <= op_a_ff;
flag_o(flag_c_c) <= sreg_i(sreg_c_c); -- keep
flag_o(flag_v_c) <= sreg_i(sreg_v_c); -- keep
flag_o(flag_n_c) <= sreg_i(sreg_n_c); -- keep
flag_o(flag_z_c) <= sreg_i(sreg_z_c); -- keep
 
when others => -- undefined
alu_res <= (others => '-');
flag_o(flag_c_c) <= '-';
flag_o(flag_v_c) <= '-';
 
end case;
end process alu_core;
 
-- are we really using the DADD instruction? --
alu_core_sanity_check: process(clk_i)
begin
if rising_edge(clk_i) then
if (ctrl_i(ctrl_alu_cmd3_c downto ctrl_alu_cmd0_c) = alu_dadd_c) then
assert false report "DADD instruction not supported!" severity error;
end if;
end if;
end process alu_core_sanity_check;
 
 
-- Post processing logic ----------------------------------------------------
-- -----------------------------------------------------------------------------
 
/neo430/rtl/core/neo430_control.vhd
21,7 → 21,7
-- # You should have received a copy of the GNU Lesser General Public License along with this #
-- # source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
-- # ********************************************************************************************* #
-- # Stephan Nolting, Hannover, Germany 26.11.2019 #
-- # Stephan Nolting, Hannover, Germany 12.02.2020 #
-- #################################################################################################
 
library ieee;
60,7 → 60,7
 
-- state machine --
type state_t is (RESET, IFETCH_0, IFETCH_1, DECODE,
TRANS_0, TRANS_1, TRANS_2, TRANS_3, TRANS_4, TRANS_5, TRANS_6, TRANS_7,
TRANS_0, TRANS_1, TRANS_2, TRANS_3, TRANS_4, TRANS_5, TRANS_6,
PUSHCALL_0, PUSHCALL_1, PUSHCALL_2,
RETI_0, RETI_1, RETI_2, RETI_3, RETI_4,
IRQ_0, IRQ_1, IRQ_2, IRQ_3, IRQ_4, IRQ_5);
350,7 → 350,7
state_nxt <= TRANS_2;
end case;
 
when TRANS_2 => -- operand transfer cycle 3
when TRANS_2 => -- operand transfer cycle 2
-- ------------------------------------------------------------
case am is -- addressing mode
when "0000" | "0001" | "1000" | "1001" =>
390,7 → 390,7
state_nxt <= TRANS_3;
end case;
 
when TRANS_3 => -- operand transfer cycle 4
when TRANS_3 => -- operand transfer cycle 3
-- ------------------------------------------------------------
case am is -- addressing mode
when "1001" | "1011" | "1101" | "1111" =>
412,7 → 412,7
state_nxt <= TRANS_4; -- NOP / DONT CARE
end case;
 
when TRANS_4 => -- operand transfer cycle 6
when TRANS_4 => -- operand transfer cycle 4
-- ------------------------------------------------------------
case am is -- addressing mode
when "0010" | "0011" | "1010" =>
438,7 → 438,7
state_nxt <= TRANS_5; -- NOP / DONT CARE
end case;
 
when TRANS_5 => -- operand transfer cycle 7
when TRANS_5 => -- operand transfer cycle 5
-- ------------------------------------------------------------
ctrl_nxt(ctrl_alu_in_sel_c) <= '1'; -- get data from memory
ctrl_nxt(ctrl_alu_opb_wr_c) <= '1'; -- write to OpA
448,24 → 448,9
state_nxt <= TRANS_6; -- single/dual ALU operation
end if;
 
when TRANS_6 => -- operand transfer cycle 8
when TRANS_6 => -- operand transfer cycle 6
-- ------------------------------------------------------------
ctrl_nxt(ctrl_rf_adr3_c downto ctrl_rf_adr0_c) <= ir(3 downto 0); -- destination
if (ctrl(ctrl_alu_cmd3_c downto ctrl_alu_cmd0_c) = alu_dadd_c) and (use_dadd_cmd_c = true) then
state_nxt <= TRANS_7;
else
ctrl_nxt(ctrl_rf_fup_c) <= not spec_cmd_v; -- update ALU status flags
if (am(0) = '0') then -- DST: register direct
ctrl_nxt(ctrl_rf_wb_en_c) <= valid_wb_v; -- valid RF write back (not for CMP/BIT!)
else -- DST: indexed
ctrl_nxt(ctrl_mem_wr_c) <= valid_wb_v; -- valid MEM write back (not for CMP/BIT!)
end if;
state_nxt <= IFETCH_0; -- done!
end if;
 
when TRANS_7 => -- operand transfer cycle 9
-- ------------------------------------------------------------
ctrl_nxt(ctrl_rf_adr3_c downto ctrl_rf_adr0_c) <= ir(3 downto 0); -- destination
ctrl_nxt(ctrl_rf_fup_c) <= not spec_cmd_v; -- update ALU status flags
if (am(0) = '0') then -- DST: register direct
ctrl_nxt(ctrl_rf_wb_en_c) <= valid_wb_v; -- valid RF write back (not for CMP/BIT!)
/neo430/rtl/core/neo430_package.vhd
19,7 → 19,7
-- # You should have received a copy of the GNU Lesser General Public License along with this #
-- # source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
-- # ********************************************************************************************* #
-- # Stephan Nolting, Hannover, Germany 08.02.2020 #
-- # Stephan Nolting, Hannover, Germany 12.02.2020 #
-- #################################################################################################
 
library ieee;
30,12 → 30,11
 
-- Processor Hardware Version -------------------------------------------------------------
-- -------------------------------------------------------------------------------------------
constant hw_version_c : std_ulogic_vector(15 downto 0) := x"0340"; -- no touchy!
constant hw_version_c : std_ulogic_vector(15 downto 0) := x"0341"; -- no touchy!
 
-- Advanced Hardware Configuration --------------------------------------------------------
-- -------------------------------------------------------------------------------------------
constant use_dsp_mul_c : boolean := false; -- use DSP blocks for MULDIV's multiplication core (default=false)
constant use_dadd_cmd_c : boolean := false; -- implement CPU's DADD instruction (default=false)
constant use_xalu_c : boolean := false; -- implement extended ALU function (default=false)
constant low_power_mode_c : boolean := false; -- can reduce switching activity, but will also decrease f_max and might increase area (default=false)
constant awesome_mode_c : boolean := true; -- of course! (default=true)
53,7 → 52,6
function bin_to_gray_f(input : std_ulogic_vector) return std_ulogic_vector;
function gray_to_bin_f(input : std_ulogic_vector) return std_ulogic_vector;
function int_to_hexchar_f(input : integer) return character;
function bcd_add4_f(a : std_ulogic_vector; b : std_ulogic_vector; c : std_ulogic) return std_ulogic_vector;
function or_all_f(a : std_ulogic_vector) return std_ulogic;
function and_all_f(a : std_ulogic_vector) return std_ulogic;
function xor_all_f(a : std_ulogic_vector) return std_ulogic;
299,7 → 297,7
constant alu_subc_c : std_ulogic_vector(3 downto 0) := "0111"; -- r <= b - a - 1 + carry
constant alu_sub_c : std_ulogic_vector(3 downto 0) := "1000"; -- r <= b - a
constant alu_cmp_c : std_ulogic_vector(3 downto 0) := "1001"; -- b - a (no write back)
constant alu_dadd_c : std_ulogic_vector(3 downto 0) := "1010"; -- r <= a + b (BCD)
constant alu_dadd_c : std_ulogic_vector(3 downto 0) := "1010"; -- r <= a + b (BCD) [NOT SUPPORTED!]
constant alu_bit_c : std_ulogic_vector(3 downto 0) := "1011"; -- a & b (no write back)
constant alu_bic_c : std_ulogic_vector(3 downto 0) := "1100"; -- r <= !a & b
constant alu_bis_c : std_ulogic_vector(3 downto 0) := "1101"; -- r <= a | b
961,24 → 959,6
return output_v;
end function int_to_hexchar_f;
 
-- Function: 4-bit BCD addition with carry ------------------------------------------------
-- -------------------------------------------------------------------------------------------
function bcd_add4_f(a : std_ulogic_vector; b : std_ulogic_vector; c : std_ulogic) return std_ulogic_vector is
variable tmp_v : unsigned(4 downto 0);
variable res_v : unsigned(3 downto 0);
variable cry_v : std_ulogic;
begin
tmp_v := ('0' & unsigned(a)) + ('0' & unsigned(b)) + ("0000" & c);
if (tmp_v > 9) then
res_v := resize((tmp_v + "00110"), 4);
cry_v := '1';
else
res_v := tmp_v(3 downto 0);
cry_v := '0';
end if;
return std_ulogic_vector(cry_v & res_v);
end function bcd_add4_f;
 
-- Function: OR all bits ------------------------------------------------------------------
-- -------------------------------------------------------------------------------------------
function or_all_f(a : std_ulogic_vector) return std_ulogic is
/neo430/rtl/core/neo430_sysconfig.vhd
22,7 → 22,7
-- # You should have received a copy of the GNU Lesser General Public License along with this #
-- # source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
-- # ********************************************************************************************* #
-- # Stephan Nolting, Hannover, Germany 28.11.2019 #
-- # Stephan Nolting, Hannover, Germany 12.02.2020 #
-- #################################################################################################
 
library ieee;
110,7 → 110,7
sysinfo_mem(1)(03) <= bool_to_ulogic_f(GPIO_USE); -- GPIO present?
sysinfo_mem(1)(04) <= bool_to_ulogic_f(TIMER_USE); -- TIMER present?
sysinfo_mem(1)(05) <= bool_to_ulogic_f(UART_USE); -- UART present?
sysinfo_mem(1)(06) <= bool_to_ulogic_f(use_dadd_cmd_c); -- DADD instruction present?
sysinfo_mem(1)(06) <= bool_to_ulogic_f(use_xalu_c); -- extended ALU functions present?
sysinfo_mem(1)(07) <= bool_to_ulogic_f(BOOTLD_USE); -- bootloader present?
sysinfo_mem(1)(08) <= bool_to_ulogic_f(IMEM_AS_ROM); -- IMEM implemented as true ROM?
sysinfo_mem(1)(09) <= bool_to_ulogic_f(CRC_USE); -- CRC present?
/neo430/sw/example/blink_led/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/cfu_test/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/coremark/core_portme.h
33,7 → 33,7
#define BAUD_RATE (19200)
#define ITERATIONS (2000)
#define NEO430_TIMER_F (10) // Hertz
#define FLAGS_STR "-Os" // compiler optimization
#define FLAGS_STR "-O3" // compiler optimization
#define USE_NEO430_MUL 0 // set 1 to use MULDIV unit for matrix core operations
 
// For debugging
/neo430/sw/example/coremark/makefile
19,38 → 19,41
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
EFFORT = -O3
 
# User's application sources (add additional files here)
APP_SRC = ee_printf.c core_list_join.c core_main.c core_matrix.c core_state.c core_util.c core_portme.c
APP_SRC = core_main.c core_list_join.c core_matrix.c core_portme.c core_state.c core_util.c ee_printf.c
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/crc_test/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/exirq_test/makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/game_of_life/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/gpio_interrupt/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/gpio_pwm_demo/makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/hw_analysis/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/hw_analysis/main.c
21,7 → 21,7
// # You should have received a copy of the GNU Lesser General Public License along with this #
// # source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
// # ********************************************************************************************* #
// # Stephan Nolting, Hannover, Germany 28.11.2019 #
// # Stephan Nolting, Hannover, Germany 12.02.2020 #
// #################################################################################################
 
 
103,9 → 103,9
neo430_printf("- SPI: ");
print_state(ft & (1<<SYS_SPI_EN));
 
// DADD
neo430_printf("- DADD Instruction: ");
print_state(ft & (1<<SYS_DADD_EN));
// XALIU
neo430_printf("- Extended ALU Ops.: ");
print_state(ft & (1<<SYS_XALU_EN));
 
// Bootloader installed
neo430_printf("- Internal Bootloader: ");
/neo430/sw/example/morse_translator/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/muldiv_test/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/nested_irqs/makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/prime_numbers/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/pwm_demo/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/timer_simple/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/trng_test/makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/twi_test/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/uart_irq/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/wb_terminal/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/example/wdt_test/Makefile
19,13 → 19,13
# You should have received a copy of the GNU Lesser General Public License along with this #
# source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
# ********************************************************************************************* #
# Stephan Nolting, Hannover, Germany 04.10.2019 #
# Stephan Nolting, Hannover, Germany 12.02.2020 #
#################################################################################################
 
 
#-------------------------------------------------------------------------------
#*******************************************************************************
# USER CONFIGURATION
#-------------------------------------------------------------------------------
#*******************************************************************************
# Compiler effort (-Os = optimize for size)
EFFORT = -Os
 
34,23 → 34,26
 
# User's application include folders (don't forget the '-I' before each entry)
APP_INC = -I .
#-------------------------------------------------------------------------------
 
# Relative or absolute path to the NEO430 home folder
NEO430_HOME = ../..
#*******************************************************************************
 
 
 
#-------------------------------------------------------------------------------
# NEO430 framework
#-------------------------------------------------------------------------------
# Path to NEO430 linker script and startup file
NEO430_COM_PATH=../../common
NEO430_COM_PATH=$(NEO430_HOME)/common
# Path to main NEO430 library include files
NEO430_INC_PATH=../../lib/neo430/include
NEO430_INC_PATH=$(NEO430_HOME)/lib/neo430/include
# Path to main NEO430 library source files
NEO430_SRC_PATH=../../lib/neo430/source
NEO430_SRC_PATH=$(NEO430_HOME)/lib/neo430/source
# Path to NEO430 executable generator
NEO430_EXE_PATH=../../tools/image_gen
NEO430_EXE_PATH=$(NEO430_HOME)/tools/image_gen
# Path to NEO430 core rtl folder
NEO430_RTL_PATH=../../../rtl/core
NEO430_RTL_PATH=$(NEO430_HOME)/../rtl/core
 
 
#-------------------------------------------------------------------------------
145,7 → 148,7
# Assembly listing file (for debugging)
$(APP_ASM): main.elf
@$(OBJDUMP) -D -S -z $< > $@
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used! Make sure it is synthesized!"; fi
@if grep -qR "dadd" $@; then echo "NEO430: WARNING! 'DADD' instruction might be used!"; fi
 
# Generate NEO430 executable image for bootloader update
$(APP_BIN): image.dat $(IMAGE_GEN)
164,7 → 167,7
#-------------------------------------------------------------------------------
help:
@echo "NEO430 Application Compilation Script"
@echo "Make sure to add the absolute path of the msp430-gcc bin folder to your PATH variable."
@echo "Make sure to add the msp430-gcc bin folder to your system's PATH variable."
@echo "Targets:"
@echo " help - show this text"
@echo " compile - compile and generate *.bin executable for upload via bootloader"
/neo430/sw/lib/neo430/include/neo430.h
23,7 → 23,7
// # You should have received a copy of the GNU Lesser General Public License along with this #
// # source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
// # ********************************************************************************************* #
// # Stephan Nolting, Hannover, Germany 30.01.2020 #
// # Stephan Nolting, Hannover, Germany 12.02.2020 #
// #################################################################################################
 
#ifndef neo430_h
432,7 → 432,7
#define SYS_GPIO_EN 3 // r/-: GPIO synthesized
#define SYS_TIMER_EN 4 // r/-: TIMER synthesized
#define SYS_UART_EN 5 // r/-: UART synthesized
#define SYS_DADD_EN 6 // r/-: DADD instruction synthesized
#define SYS_XALU_EN 6 // r/-: Extended ALU operations synthesized
#define SYS_BTLD_EN 7 // r/-: Bootloader installed and enabled
#define SYS_IROM_EN 8 // r/-: Implement IMEM as true ROM
#define SYS_CRC_EN 9 // r/-: CRC synthesized
/neo430/sw/lib/neo430/include/neo430_cpu.h
19,7 → 19,7
// # You should have received a copy of the GNU Lesser General Public License along with this #
// # source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
// # ********************************************************************************************* #
// # Stephan Nolting, Hannover, Germany 16.12.2019 #
// # Stephan Nolting, Hannover, Germany 12.02.2020 #
// #################################################################################################
 
#ifndef neo430_cpu_h
41,7 → 41,6
void neo430_call_address(uint16_t addr); // call certain address
uint16_t neo430_bswap(uint16_t a); // swap bytes in word
uint16_t neo430_combine_bytes(uint8_t hi, uint8_t lo); // combine two bytes into a single word
uint16_t neo430_dadd(uint16_t a, uint16_t b); // BCD addition (HAS TO BE ENABLED FOR SYNTHESIS!)
void neo430_memset(uint8_t *dst, uint8_t data, uint16_t num); // set num bytes in memory
uint8_t neo430_memcmp(uint8_t *dst, uint8_t *src, uint16_t num); // compare num bytes in memory
void neo430_memcpy(uint8_t *dst, uint8_t *src, uint16_t num); // copy num bytes from memory to memory
/neo430/sw/lib/neo430/source/neo430_cpu.c
19,7 → 19,7
// # You should have received a copy of the GNU Lesser General Public License along with this #
// # source; if not, download it from https://www.gnu.org/licenses/lgpl-3.0.en.html #
// # ********************************************************************************************* #
// # Stephan Nolting, Hannover, Germany 16.12.2019 #
// # Stephan Nolting, Hannover, Germany 12.02.2020 #
// #################################################################################################
 
#include "neo430.h"
208,21 → 208,6
 
 
/* ------------------------------------------------------------
* INFO Binary-coded decimal addition
* WARNING MAKE SURE THE DADD UNIT IS SYNTHESIZED (package switch "use_dadd_cmd_c")!!!
* PARAM 2x 16-bit BCD operands (4 digits)
* RETURN 16-bit BCD result (4 digits)
* ------------------------------------------------------------ */
uint16_t neo430_dadd(uint16_t a, uint16_t b) {
 
register uint16_t z = a;
asm volatile ("clrc");
asm volatile ("dadd %[b], %[z]" : [z] "=r" (z) : "[z]" (z), [b] "r" (b));
return z;
}
 
 
/* ------------------------------------------------------------
* INFO Memory initialization (byte-wise)
* PARAM dst: Byte-pointer to beginning of target memory space
* PARAM data: Init data

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.