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 |