Skip to content

Exporter IAR - use progen for generating a project #1557

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Feb 24, 2016

Conversation

0xc0170
Copy link
Contributor

@0xc0170 0xc0170 commented Feb 20, 2016

This should be the first exporter using progen boilerplate which was added ~2 months ago.

I would like to fix virtual folders. I'll have to add RZ_A1H target, thus not ready for merging as it is.

Please test any IAR project!

Shall be replaced by progen, which contains generic template. Any new target for
IAR, please check [project generator definitions](https://github.com/project-generator/project_generator_definitions).
@0xc0170
Copy link
Contributor Author

0xc0170 commented Feb 20, 2016

@sg- @bridadan

@bridadan
Copy link
Contributor

I found a few errors (I think I'm using it right, maybe not though)

C:\Users\xxx\Documents\dev\mbed\workspace_tools>python project.py -m K64F -i iar -p 60
Copy: test_env.h
Copy: AnalogIn.h
Copy: AnalogOut.h
Copy: BusIn.h
Copy: BusInOut.h
Copy: BusOut.h
Copy: CallChain.h
Copy: CAN.h
Copy: can_helper.h
Copy: CircularBuffer.h
Copy: CThunk.h
Copy: DigitalIn.h
Copy: DigitalInOut.h
Copy: DigitalOut.h
Copy: DirHandle.h

...

Copy: LocalFileSystem.cpp
Copy: RawSerial.cpp
Copy: retarget.cpp
Copy: Serial.cpp
Copy: SerialBase.cpp
Copy: SPI.cpp
Copy: SPISlave.cpp
Copy: Stream.cpp
Copy: Ticker.cpp
Copy: Timeout.cpp
Copy: Timer.cpp
Copy: TimerEvent.cpp
Copy: MK64F.icf
Copy: main.cpp
Traceback (most recent call last):
  File "project.py", line 179, in <module>
    tmp_path, report = export(project_dir, test.id, ide, mcu, EXPORT_WORKSPACE, EXPORT_TMP, extra_symbols=lib_symbols)
  File "C:\Users\xxx\Documents\dev\mbed\workspace_tools\export\__init__.py", line 102, in export
    exporter.generate()
  File "C:\Users\xxx\Documents\dev\mbed\workspace_tools\export\iar.py", line 31, in generate
    project_data = self.get_project_data()
AttributeError: 'IAREmbeddedWorkbench' object has no attribute 'get_project_data'

Other error:

C:\Users\xxx\Documents\dev\mbed\workspace_tools>python project.py --list-matrix
Traceback (most recent call last):
  File "project.py", line 89, in <module>
    print mcu_ide_matrix()
  File "C:\Users\xxx\Documents\dev\mbed\workspace_tools\export\__init__.py", line 174, in mcu_ide_matrix
    if target in EXPORTERS[ide].TARGETS:
AttributeError: type object 'IAREmbeddedWorkbench' has no attribute 'TARGETS'

The IAR exporter is replaced by progen.
@0xc0170
Copy link
Contributor Author

0xc0170 commented Feb 22, 2016

@bridadan Thanks, I resolved first while you were writing this.. I havent seen the second one yet. I'll fix it rightaway

@bridadan
Copy link
Contributor

Ok, successfully exported the test MBED_23 and MBED_11. Trying to compile with IAR v7.2.

Fatal Error[Su011]: More than one source file specified: 
          C:\Users\bridan01\Documents\dev\mbed\build\export\MBED_23_iar_K64F\MBED_23\mbed\common\wait_api.c 
          0 

I get this error for every source file in the project.

@0xc0170
Copy link
Contributor Author

0xc0170 commented Feb 22, 2016

@bridadan I forgot to tell you, wait for bugfix in progen :-) there's already PR. Seems like project files define additional settings which are not captured in the toolchain iar script. I am investigating them currently. Hold your testing until further notice ;)

@0xc0170
Copy link
Contributor Author

0xc0170 commented Feb 22, 2016

For testing, use progen master for now (I'll release new patch version once this proves to be working for our targets here).

@bridadan We might want to add tests for exporters: build libs, export all our examples for our targets. Shall not produce any error, as we have seen above :)

@bridadan
Copy link
Contributor

Doesn't look like that last commit fixed the .bin issue. Still creating .srec. Tested for LPC1768 and LPC1114

@0xc0170
Copy link
Contributor Author

0xc0170 commented Feb 23, 2016

It's binary for me, what version of IAR are you using?

@bridadan
Copy link
Contributor

I was testing on IAR 7.2 I believe

@0xc0170
Copy link
Contributor Author

0xc0170 commented Feb 23, 2016

Progen v0.8.8 released with IAR fixes, I reused a template from kl25z , means we are using the same settings as there were set.

If this gets merged and applied to online IDE, please run setup.py to get progen v0.8.8.

@bridadan Thank you very much for your testing !

@0xc0170
Copy link
Contributor Author

0xc0170 commented Feb 23, 2016

42 additions and 47,780 deletions !

@0xc0170
Copy link
Contributor Author

0xc0170 commented Feb 24, 2016

I am merging this now, we got a week to test from master.

0xc0170 added a commit that referenced this pull request Feb 24, 2016
Exporter IAR - use progen for generating a project
@0xc0170 0xc0170 merged commit 8081c39 into ARMmbed:master Feb 24, 2016
@0xc0170
Copy link
Contributor Author

0xc0170 commented Feb 24, 2016

One note: RZ_A1H will be added within today

deepakvenugopal added a commit to deepakvenugopal/mbed-os that referenced this pull request Feb 9, 2018
…changes from c9bf20f..43c7ec2

43c7ec2 Merge branch 'release_internal' into release_external
ed76459 Merge pull request ARMmbed#1558 from ARMmbed/IOTTHD-2195
8d3bcb7 Add new function to unit tests
56f66a4 Review correction
8b7d018 Move indirect queue size public API to net_interface
d877c9e Review corrections
c25e476 Remove Eclipse project files for external release
d51f442 Merge branch 'release_internal' into release_external
135c48d Increase Thread SED buffer size for big packets
70931a7 Fix indirect queue packet ordering
10e51a4 API for changing Thread SED parent buffer size
6122d24 dereference null value issue fixed. (ARMmbed#1557)
d1378dc Clear IPv6 neighbor cache in partition change (ARMmbed#1554)
7610e91 Child neighbor entry updates (ARMmbed#1550)
c727295 cleared neighbours with child address that are not ours (ARMmbed#1549)
80b4d72 Thread partition merge mode TLV change (ARMmbed#1546)
edd7599 RLOC was updated before clearing child info (ARMmbed#1547)
a666056 router short address set to 0xfffe for non routers (ARMmbed#1543)
759ab05 delete route set and link set entries for a router ID (ARMmbed#1540)
23a1265 REED advertisement handling (Thread spec 5.16.3): (ARMmbed#1535)
0a32cb4 added active and pending timestamps to child update response (ARMmbed#1533)
d0eec80 Fix error case memory leak (ARMmbed#1537)
da9860f Pending set after link sync (ARMmbed#1526)
ffa1569 Thread router network data update after link sync (ARMmbed#1530)
3b46d8d Fix defects found by coverity (ARMmbed#1529)
3a57101 Fix compiler warnings and update traces (ARMmbed#1523)
c288227 Add extension check for partition weight drop in parent selection (ARMmbed#1521)
d8dea28 network data cleared after router forms new partition (ARMmbed#1525)
44a85e5 removed router flagging for thread_management_server file (ARMmbed#1524)
1cbced9 Merge pull request ARMmbed#1520 from ARMmbed/IOTTHD-2105_2
3d07365 Review corrections to network data clearing
22a0375 Clear network data from lost children
ffd8517 added a new thread management function (ARMmbed#1519)
80af9cb Thread BR network data clearing (ARMmbed#1518)
5a6f6b5 thread nvm valgrind uninitialized data fix (ARMmbed#1517)
d5e2198 Add API for partition weighting set (ARMmbed#1513)
8811d6f multicast forwarding scope changed and address registration updated. (ARMmbed#1516)
c277384 printf to tr_info (ARMmbed#1515)
bb21264 Thread combined nvm test (ARMmbed#1507)
76f7725 Primary BBR fixes from interop (ARMmbed#1512)
12ed5ab FHSS unit test: fixed fhss mac interface test (cherry picked from commit 805eb42e4416b00cc018dc32dceb353d0b6c8bb6)
dd21ea9 Remvoed unnecessary trace print's.
cb6e78b FHSS unit test: fixed fhss beacon tasklet test (cherry picked from commit abe6d671b058f4f069741eab24d51e4d62d550b0)
237b3d4 Fhss info print (ARMmbed#1486)
0f39a47 FHSS: Do not update synch monitor right after superframe change (cherry picked from commit 99d50ad9d7f8dad80f10c2a4303f4e75ab31a3c2)
c9a098f Fixed Timeoout force which actually never generate timeout.
957c7fb Pana server and client update:
ae230e5 FHSS: Update Beacon synch info in critical state
84bd8a4 FHSS: Synchronization must be done in critical state
fb1b163 Pan coordinator blacklist update
39fe6ba Added missing HAVE_RPL compiler flag
16a1bc5 MLE bootsrap and message timeout update
eeb2d39 enable BBR to support multicast registration in non   commercial networks (ARMmbed#1509)
4ea2bf8 uri modified. (ARMmbed#1510)
f443853 timeout corrected for neighbour entry (ARMmbed#1508)
ea93c1f Thread dev conf taken use (ARMmbed#1503)
5d5b239 bug fix in bbr start (ARMmbed#1505)
8dbd521 commented a trace. (ARMmbed#1504)
145dbdf device conf copy fix (ARMmbed#1502)
f60268f eid&random mac moved to device conf struct (ARMmbed#1497)
df18635 Let MAC choose address when mesh forwarding
42f916b fixed BBR stop to remove network data and routing information (ARMmbed#1500)
e058c2a pbbr changes (ARMmbed#1499)
1ece307 Merge pull request ARMmbed#1485 from ARMmbed/merge_release_back
dda8164 thread address handling updated. (ARMmbed#1496)
1dc21a1 thread extension fixes. (ARMmbed#1495)
543fe98 Merge branch 'release_internal'
bade70e Dua req changes (ARMmbed#1494)
1979df8 added status to MLR response and implemeted BMLR.ntf multicast. (ARMmbed#1492)
1807c01 mle class initialisation (ARMmbed#1488)
d809831 Merge pull request ARMmbed#1479 from ARMmbed/merge_release_to_master
bce812d Update license to Thread test file (ARMmbed#1483)
aaa4b1f Revert eclipse file removal

git-subtree-dir: features/nanostack/FEATURE_NANOSTACK/sal-stack-nanostack
git-subtree-split: 43c7ec2
@0xc0170 0xc0170 deleted the dev_progen_iar branch September 1, 2020 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants